繁体   English   中英

Java线程同步中的通知

[英]Notification in Java thread synchronization

当有多个线程处于等待状态时; 如果我调用notify()而不是调用notifyAll()处于等待状态的多个线程中将要通知哪个?

那是未定义的行为。 任何人都可以被接走。 JavaDoc

如果有任何线程在此对象上等待,则选择其中一个唤醒。 选择是任意的 ,并且可以根据实现情况进行选择。

是的,这可能导致线程饥饿

Javadoc说:

选择是任意的,并且可以根据实现情况进行选择。

当有多个线程处于等待状态时; 如果我调用notify()而不是调用notifyAll()处于等待状态的多个线程中将要通知哪个?

尽管已经提到过,Java规范并未定义特定的行为,但我怀疑JDC实现会在特定监视器的WAIT队列的最前面使用线程。 但是,这不应该依赖。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM