為什么易失性在雙重檢查鎖定中使用?從…頭第一設計模式書中,具有雙重檢查鎖定的單例模式已經實現如下: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
提交
取消