单例双重检测第二个判空的作用

来源:9-5 jmm的内存可见性

莨菽菽

2020-06-05

http://img.mukewang.com/szimg/5eda22a1092da49a10620470.jpg

第二个判空的作用是什么,第一个判空才进syn代码块,进去之后就不需要再判断了吧?

写回答

1回答

翔仔

2020-06-06

同学好,如果没有第二个判断。。 线程1和线程2同时进入第一个if,然后假设线程1获得同步锁,然后去执行创建语句,创建了实例A,释放了锁,此时线程2拿到锁,直接创建了实例B,此时两个线程得到的实例不是同一个,就违反单例了

0
3
翔仔
回复
dddddda
上同步锁性能会受影响,第一个针对已经创建好单例的过滤
2022-03-14
共3条回复

剑指Java面试-Offer直通车 百度资深面试官授课

招聘季即将到来,让百度资深面试官来为你的高薪Offer保驾护航

8427 学习 · 1870 问题

查看课程