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

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

在write和方法上加synchronized不能保證結(jié)果一定是6

使用synchronized實現(xiàn)可見性時,在wriite和read方法上都加上了這個關(guān)鍵字,但是main方法中啟動的是兩個線程,如果參數(shù)為false的先執(zhí)行,那么結(jié)果就是0,程序的運行結(jié)果中確實還是可能是6或者0,請老師幫忙確認下

正在回答

1 回答

synchronized分為對象鎖和類鎖。加在非靜態(tài)方法上的鎖是對象鎖,由于main中new了兩個實例,write和read方法是不同對象,因此兩個鎖不是同一把鎖,不具有互斥性。

所以出現(xiàn)0和6的原因就是出現(xiàn)在處理器的重排序原因。兩個線程同時啟動,但是先執(zhí)行哪個線程是有處理器決定的。如果是讀線程先執(zhí)行,結(jié)果就是0;如果是寫線程先執(zhí)行就是6;

如有問題請指正。

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

在write和方法上加synchronized不能保證結(jié)果一定是6

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

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

幫助反饋 APP下載

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

公眾號

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