看板 java 關於我們 聯絡資訊
※ 引述《vrgigi.bbs@bbs.mgt.ncu.edu.tw (夏傑)》之銘言: : java中的wait和notify我一直搞不太懂,問題是這樣的 : 我run了3個thread分別是A,B,C : 當A.wait()之後,就會進入wait pool中...隨後B.wait()也進入wait pool : 此時wait pool中有兩個wait分別是A和B : 而running中的C.notify()... : 我的問題就在這裡~~C.notify會喚醒A還是喚醒B?? : 還是由系統決定要喚醒A或B?? : 可以由程式中指定要喚醒誰嗎? 想要指定喚醒誰是必須經由人工另外處理 你可以將A跟B被喚醒後,立刻做檢查條件 不符合條件就繼續wait 當有人需要叫醒A(舉例),就先設定讓A可以通過檢查條件,再notifyAll 這樣即使A跟B都被叫醒,但只有A可以通過檢查條件,B依然會繼續wait 我想這樣應該就可以達到由程式決定被喚醒者 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.59.64.166