课程
/后端开发
/Java
/模式的秘密---单例模式
老师可否说明一下 为何 懒汉 线程不安全?
2014-10-31
源自:模式的秘密---单例模式 3-1
正在回答
所以 一般加个锁。 synchronized
疯子520520
如果两个线程 threadA和 threadB分别开始执行初始化:
threadA: if (instance == null) 是真,然后进入条件区里面里面,在它还没有到初始化那一步的时候,跳到 threadB:这时(instance==null)对threadB仍然是真,于是也进入到条件区里面。接下来 threadA和threadB接下来先后执行instance = new ... 就会分别给两个线程两个不同的instance了。
建议你看一下多线程的相关课程
举报
单例模式是在Java中最重要模式之一,让我们揭开单例模式神秘面纱
2 回答private 和getInstance 是否真的有这个必要
3 回答类对象和静态属性对象谁先实例化
2 回答破坏单列模式
1 回答为什么我写的一模一样可还是不对?
1 回答关于懒汉模式
购课补贴联系客服咨询优惠详情
慕课网APP您的移动学习伙伴
扫描二维码关注慕课网微信公众号