问答详情
源自:3-1 “饿汉式” pk “懒汉式”

老师可否说明一下 为何 懒汉 线程不安全?


提问者:Leo_Li 2014-10-31 00:49

个回答

  • Violetsl
    2016-02-16 10:53:02

    所以 一般加个锁。 synchronized

  • jamesdeath123
    2014-12-03 03:49:16

    如果两个线程 threadA和 threadB分别开始执行初始化:

    threadA: if (instance == null) 是真,然后进入条件区里面里面,在它还没有到初始化那一步的时候,跳到 threadB:这时(instance==null)对threadB仍然是真,于是也进入到条件区里面。接下来 threadA和threadB接下来先后执行instance = new ... 就会分别给两个线程两个不同的instance了。

  • 喜欢做梦的鱼
    2014-10-31 09:29:31

    建议你看一下多线程的相关课程