欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

6、多线程之单例模式

程序员文章站 2022-05-18 15:36:52
原先的单例模式在多线程环境下已经不再适应,那么该怎么办呢?? 答: (1)使用双重锁定实现线程安全的单例模式 (2)静态初始化单例模式 直接实例化Singleton对象,在GetInstance方法中直接返回_Instance对象 我们知道,静态成员只初始化一次,也就是说_Instance在第一次访 ......

 6、多线程之单例模式

6、多线程之单例模式

6、多线程之单例模式

 

 

原先的单例模式在多线程环境下已经不再适应,那么该怎么办呢??

答:

(1)使用双重锁定实现线程安全的单例模式

 6、多线程之单例模式

 

(2)静态初始化单例模式

 6、多线程之单例模式

 

直接实例化singleton对象,在getinstance方法中直接返回_instance对象

 

我们知道,静态成员只初始化一次,也就是说_instance在第一次访问该类就实例化,所以singleton类第一次被访问的时候,就完成了singleton类的实例化,而且只被实例化一次,通过这种方式,也能保证多线程环境下的单例模式

 

 

勘正:请注意,图中singleton的无参构造函数应该声明为private!!!!!!!!!!!!!!!!!!!!!!