为什么易失性在双重检查锁定中使用?从…头第一设计模式书中,具有双重检查锁定的单例模式已经实现如下:public class Singleton {
private volatile static Singleton instance;
private Singleton() {}
public static Singleton getInstance() {
if (instance == null) {
synchronized (Singleton.class) {
if (instance == null) {
instance = new Singleton();
}
}
}
return instance;
}}我不明白为什么volatile正在被利用。不volatile使用失败了使用双重检查锁定的目的,即性能?
3 回答
慕容3067478
TA贡献1773条经验 获得超3个赞
volatile
instance == null
new Singleton()
instance
volatile
添加回答
举报
0/150
提交
取消