第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

我覺得這里講的有問題

我覺得這里線程B已經(jīng)把修改的值寫入主內(nèi)存了,那么線程A執(zhí)行number+1 時,number會從主內(nèi)存中讀取到6,執(zhí)行結(jié)果是正確的。


?錯誤的情況應(yīng)該是:

1. 線程A讀取number的值,并且+1?

2. 線程B讀取number的值,并且+1?

3. 線程B寫入結(jié)果6到主內(nèi)存?

4. 關(guān)鍵點,此時線程A寫入計算結(jié)果6, 給volatile修飾的變量賦值,只是會把值刷新到主內(nèi)存。因此只加了一次。?


?不知道我的理解對不對?請大神指教



class Singleton{

? ? private volatile static Singleton instance = null;

? ? ?

? ? private Singleton() {

? ? }

? ? ?

? ? public static Singleton getInstance() {

? ? ? ? if(instance==null) {

? ? ? ? ? ? synchronized (Singleton.class) {

? ? ? ? ? ? ? ? if(instance==null)

? ? ? ? ? ? ? ? ? ? instance = new Singleton();

? ? ? ? ? ? }

? ? ? ? }

? ? ? ? return instance;

? ? }

}


按老師的講解的例子 instance 已經(jīng)緩存了,如何保證單例?


正在回答

舉報

0/150
提交
取消

我覺得這里講的有問題

我要回答 關(guān)注問題
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號