2017-01-22 62 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()

唤醒在此对象监视器上等待的单个线程。如果任何线程正在等待这个对象,则选择其中一个线程来唤醒。这种选择是任意的,并且由实施决定。