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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

到底什么是爭用條件?為什么能量會(huì)不守恒

當(dāng)from里能量少于amount時(shí)候,返回return。為什么這里就會(huì)產(chǎn)生爭用條件呢?為什么只要讓這里開始wait

正在回答

1 回答

這里存在一個(gè)概念性問題:工作內(nèi)存 和? 主內(nèi)存

線程操作數(shù)據(jù)時(shí):會(huì)將主內(nèi)存中的數(shù)值read ->load 到工作內(nèi)存中

線程操作完成后:工作內(nèi)存中的數(shù)據(jù) store ->write 到主內(nèi)存中

https://img1.sycdn.imooc.com//5ad80b690001765507950508.jpg

這里畫了一個(gè)圖解釋一下:

線程1獲取到資源后進(jìn)行一系列的操作(獲取到a ,并進(jìn)行修改為5500,還未來得及再次寫去主內(nèi)存中),在某一時(shí)刻線程進(jìn)入了阻塞狀態(tài);

此時(shí)線程2隆重登場(chǎng) :線程而進(jìn)行了全套操作(獲取到a ,并進(jìn)行修改為5900,再存入主內(nèi)存中),此時(shí)資源a被釋放,線程1繼續(xù)操作,將5500寫入主內(nèi)存中,

全程a的變化為 :5000->5900->5500也就是最終值為5500,而在線程2操作時(shí)有一個(gè)數(shù)組數(shù)值減少了900,線程1操作時(shí)有一個(gè)數(shù)組數(shù)值減少了500,這里a只多了500,所以就造成不守恒了。(因?yàn)椴僮髂囊粋€(gè)數(shù)是隨機(jī)的,這里操作目標(biāo)數(shù)值是同一個(gè) a )。

當(dāng)返回return后,EnergySystemTest中的一個(gè)循環(huán)結(jié)束,這個(gè)循環(huán)后面的代碼也不會(huì)去執(zhí)行,而新的一個(gè)循環(huán)開始時(shí)就有可能爭用數(shù)據(jù)a ,這里造成了爭用產(chǎn)生。

使用wait 后,當(dāng)線程1操作被中斷后進(jìn)入wait set集合等待,只有線程完全執(zhí)行完以后,調(diào)用notify方法,此時(shí)才能喚醒線程繼續(xù)往下執(zhí)行。

注意兩個(gè)方法區(qū)別:return 會(huì)讓兩個(gè)線程只有一次最終結(jié)果的輸出;wait可以有兩次輸出。


2 回復(fù) 有任何疑惑可以回復(fù)我~
#1

慕瓜7073846 提問者

非常感謝!
2018-04-19 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消

到底什么是爭用條件?為什么能量會(huì)不守恒

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

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

幫助反饋 APP下載

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

公眾號(hào)

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