2017-01-22 67 views
0

對通知方法的一點感到困惑。 「notify():喚醒一個在同一個對象上調用wait()的單個線程。」所以我們可以說兩個線程叫做等待同一個對象。所以當我打電話通知哪個線程會被通知?兩個等待線程的通知方法

+0

可能重複[Java:notify()與notifyAll()再次](http://stackoverflow.com/questions/37026/java-notify-vs-notifyall-all-over-again) – ravthiru

回答

1

你不知道哪一個會被通知。 Spec說:

public final void notify()

喚醒在此對象監視器上等待的單個線程。如果任何線程正在等待這個對象,則選擇其中一個線程來喚醒。這種選擇是任意的,並且由實施決定。