冉冉說(shuō)
2019-06-21 15:44:40
為什么易失性在雙重檢查鎖定中使用?從…頭第一設(shè)計(jì)模式書(shū)中,具有雙重檢查鎖定的單例模式已經(jīng)實(shí)現(xiàn)如下: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貢獻(xiàn)1773條經(jīng)驗(yàn) 獲得超3個(gè)贊
volatile
instance == null
new Singleton()
instance
volatile
添加回答
舉報(bào)
0/150
提交
取消