单例模式

                                       独一无二的对象

一、经典的单例模式

1、  定义

确保一个类只有一个实例,并提供一个全局访问点。

2、  类图

       《Head First-Chapter5》单例模式

3、  实现

        《Head First-Chapter5》单例模式

4、  一些说明

<1>由类自己负责创建和保存它的唯一实例

<2>常被用来管理共享的资源,如数据库连接或线程池等

5、  多线程出问题啦!!!

《Head First-Chapter5》单例模式


二、懒汉与饿汉

1、懒汉

第一次用到时才去实例化。一般用于访问量大或访问线程多时。

2、饿汉

在类定义时就去实例化。一般用于访问量小或线程少时。


三、懒汉式(线程安全---加锁)

        《Head First-Chapter5》单例模式

注:如果没有第二个NULL判断,那么两个线程通过第一个NULL判断,lock机制,A线程进入,B线程等待,A线程创建实例出来后,B线程进入还可以创建实例。


四、饿汉式(本身就是线程安全的)

《Head First-Chapter5》单例模式

相关文章:

  • 2021-08-27
  • 2021-04-19
  • 2021-12-15
  • 2022-01-04
  • 2021-09-03
  • 2021-07-02
  • 2021-04-15
猜你喜欢
  • 2021-09-15
  • 2021-10-05
  • 2022-12-23
  • 2021-08-07
  • 2022-12-23
  • 2021-04-17
  • 2022-12-23
相关资源
相似解决方案