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

相关推荐

10-22 12:03
山东大学 Java
程序员小白条:26届一般都得有实习,项目可以随便写的,如果不是开源社区的项目,随便包装,技术栈也是一样,所以本质应该找学历厂,多投投央国企和银行,技术要求稍微低一点的,或者国企控股那种,纯互联网一般都得要干活
应届生简历当中,HR最关...
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务