标签:get 线程安全 重复 没有 ati 安全 single nbsp zed
1、privat static Singleton 要加votatile关键字修饰,防止对象的初始化代码与引用赋值代码进行重排序。
2、getInstance方法,最外层要加if (instance == null),然后加锁synchronized,然后再加if (instance == null)的判断
3、内层if (instance == null) 判断的作用是,如果没有这个内层的判断,多个线程都进入了外层的if (instance == null) 判断,并在锁的地方等待,那么势必会依次创建N个重复的对象,不是单例了。
标签:get 线程安全 重复 没有 ati 安全 single nbsp zed
原文地址:https://www.cnblogs.com/shuada/p/9833274.html