※ 引述《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??
: 可以由程式中指定要喚醒誰嗎?
歐 這是個好問題
notify()會叫醒誰 看的是JVM 不是你個人意志能決定的
兩個都叫醒就用notifyAll()
否則 自己程式流程就要弄好 不然可能會出現無法預料的結果
以上
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.113.81.201