課程
/后端開發
/Java
/深入淺出Java多線程
既然喚醒后還要競爭鎖,那么可不可以把while語句替換成if語句?
2014-12-08
源自:深入淺出Java多線程 4-4
正在回答
不可以,因為喚醒并獲得了鎖之后,是從上一次調用wait()的地方之后開始執行,這樣if將不能阻擋不合要求的處理。
CQUMonk 提問者
初級學習號
舉報
帶你一起深入淺出多線程,掌握基礎,展望進階路線
2 回答為什么要用while,不可以用if嗎?
2 回答為什么同步中用while不用if
4 回答notifyAll()的通知對象包括wait set中的和等待synchronized塊的的么?
2 回答run()方法為什么用while循環而不用if
2 回答為什么用 synchronized (lockobject) { if (energyboxs[from] < amount) return;加重系統開銷呢?
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2014-12-09
不可以,因為喚醒并獲得了鎖之后,是從上一次調用wait()的地方之后開始執行,這樣if將不能阻擋不合要求的處理。