请稍等 ...
×

采纳答案成功!

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

既然用了synchronized

既然用了synchronized ,那同步代码块中只会有一个线程在里面执行,那就不会有其他的线程去执行对象的地址分配及对象生成操作呀,那为什么还要再次判断null呢。

正在回答 回答被采纳积分+3

1回答

翔仔 2021-03-23 00:59:46

同学好,因为可能会有多个线程一起进入同步块外的 if,而synchronized只保证线程的串行执行,如果在同步块内不进行二次检验的话就会生成多个实例了,

2 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号