问这个问题的人就说明没理解双重检查锁,看到中间状态的情况是,第一个线程跑完了方法执行完new的步骤之一:分配空间,但是没执行完设置初始值,此时第二个线程到来,在synchronized前一个if判断时就发现不为null,直接返回了单例,同时第二个线程还用返回的这个单例进行了操作,只有这样才会出现这个问题,也就意味着这个第二个线程都没走到synchronized
点赞 1

相关推荐

牛至超人:我将凌晨两点给你打电话
点赞 评论 收藏
分享
喵_coding:年底缺人是短视频营造出来的 而且一般说的也很宽泛 不是特指后端
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务