Object類中關於等待/喚醒的API詳細信息如下:
方法 | 方法說明 |
---|---|
notify() | 喚醒在此對象監視器上等待的單個線程。 |
notifyAll() | 喚醒在此對象監視器上等待的所有線程。 |
wait() | 讓當前線程處於等待(阻塞)狀態,直到其它線程調用此對象的notify()或notifyAll()方法,當前線程被喚醒(進入就緒狀態) 。 |
wait(long timeout) | 讓當前線程處於等待(阻塞)狀態,直到其它線程調用此對象的notify()或notifyAll()方法,或者超過指定的時間量,當前線程被喚醒(進入就緒狀態) 。 |
wait(long timeout, int nanos) | 讓當前線程處於等待(阻塞)狀態,直到其它線程調用此對象的notify()或notifyAll()方法,或者其它某個線程中斷當前線程,或者超過指定的時間量,當前線程被喚醒(進入就緒狀態) |
使用場景:主線程啓用wait,是等待子線程使用notify喚醒