6、多线程之单例模式
程序员文章站
2023-11-03 18:02:04
原先的单例模式在多线程环境下已经不再适应,那么该怎么办呢?? 答: (1)使用双重锁定实现线程安全的单例模式 (2)静态初始化单例模式 直接实例化Singleton对象,在GetInstance方法中直接返回_Instance对象 我们知道,静态成员只初始化一次,也就是说_Instance在第一次访 ......
原先的单例模式在多线程环境下已经不再适应,那么该怎么办呢??
答:
(1)使用双重锁定实现线程安全的单例模式
(2)静态初始化单例模式
直接实例化singleton对象,在getinstance方法中直接返回_instance对象
我们知道,静态成员只初始化一次,也就是说_instance在第一次访问该类就实例化,所以singleton类第一次被访问的时候,就完成了singleton类的实例化,而且只被实例化一次,通过这种方式,也能保证多线程环境下的单例模式
勘正:请注意,图中singleton的无参构造函数应该声明为private!!!!!!!!!!!!!!!!!!!!!!
上一篇: 5、线程的协作问题
下一篇: 你真的了解果冻的n种吃法吗