最近中文字幕高清中文字幕无,亚洲欧美高清一区二区三区,一本色道无码道dvd在线观看 ,一个人看的www免费高清中文字幕

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

lockObj

為什么 要用while循環(huán) 在講互斥時(shí)候 while(energyBoxs[from]<amount){lockObj.wait()}

正在回答

1 回答

synchronize(lockObj)?{?<-------?這個(gè)獲取鎖操作會(huì)增加系統(tǒng)開銷
????if(energyBoxs[from]<amount){
????????return;
????}
????...
}
之前的寫法:每次成功獲取鎖之后,先條件判斷,若為false,則返回,釋放鎖。
然后又要再次獲取鎖,這樣操作會(huì)以很大的系統(tǒng)開銷作為代價(jià)的。改成下面寫法的話:
synchronize(lockObj)?{?
????while(energyBoxs[from]<amount){
????????lockObj.wait();
????}??????????
}
就是為了減小系統(tǒng)開銷


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

笙__笙 提問者

為什么 不用if 判斷一次 卻用 while 判斷很多次
2017-11-24 回復(fù) 有任何疑惑可以回復(fù)我~
#2

慕田峪3134475 回復(fù) 笙__笙 提問者

明白你說的了,你是不是想用下面這種寫法,判斷一次就好 synchronize(lockObj) { if(energyBoxs[from]<amount){ lockObj.wait(); } ... } 我個(gè)人認(rèn)為是可以的
2017-11-24 回復(fù) 有任何疑惑可以回復(fù)我~
#3

笙__笙 提問者 回復(fù) 慕田峪3134475

嗯 是可以的 但是不明白 用while 很難理解 哈哈哈
2017-11-24 回復(fù) 有任何疑惑可以回復(fù)我~
#4

亞歷山魈 回復(fù) 笙__笙 提問者

因?yàn)閚otifyAll()喚醒后選擇WaitSet中的等待線程是隨機(jī)選擇的
2018-09-18 回復(fù) 有任何疑惑可以回復(fù)我~
查看1條回復(fù)

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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