亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

為什么同步中用while不用if

while (energyBoxes[from]<amount) { lockObject.wait(); }

不在同步中用的確是if(energyBoxes[from]<amount) {return;}

正在回答

2 回答

抱歉,好久沒來慕課了,上次沒回答清楚。簡單說就是,if語句是不滿足條件就退出,while是不滿足條件就等著滿足條件。if條件滿足之后之后return,會退出該方法。while之后是wait,沒有return,所以并沒有結束,只是當前線程進入了等待序列,當線程下一次獲取cpu時間時還需要判斷while里面的條件是否滿足,才能執行下面的語句,所以需要while來反復判斷。

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

林二小

多處“條件”含義有所不同,“if條件滿足”表示if為true時,不知道怎樣修改回復。。
2016-10-30 回復 有任何疑惑可以回復我~
#2

car 提問者

可能這就是多線程
2016-10-30 回復 有任何疑惑可以回復我~
#3

霸氣小肆毛

還是沒有理解,修改為if,程序也是可以運行的,大佬能再詳細點嘛
2019-03-30 回復 有任何疑惑可以回復我~

因為while是循環的啊,if只會執行一次。

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

car 提問者

知道是循環,之前不循環也行,現在要實現同樣功能就要循環。什么原因。
2016-10-17 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

為什么同步中用while不用if

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號