请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

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

https://img1.sycdn.imooc.com//szimg/5eda22a1092da49a10620470.jpg

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

正在回答

1回答

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

0 回复 有任何疑惑可以回复我~
  • 提问者 莨菽菽 #1
    非常感谢!
    回复 有任何疑惑可以回复我~ 2020-06-06 09:57:15
  • dddddda #2
    那第一个null判断是不是可以删掉呢
    回复 有任何疑惑可以回复我~ 2022-03-13 10:23:38
  • 翔仔 回复 dddddda #3
    上同步锁性能会受影响,第一个针对已经创建好单例的过滤
    回复 有任何疑惑可以回复我~ 2022-03-14 00:09:42
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信