[英]What happens to waiting thread if notify() is not called?
如果没有调用notify(),等待线程会发生什么? 这是虚假的唤醒吗?
如果等待 Thread
没有通过调用通知 notify()
或notifyAll()
上述线程正在等待的对象,那么下面的任何一个可能会发生:
Thread
在对象的等待池中等待 Thread
变为可运行 Thread
被中断并再次变为可运行 Thread
完全没有理由醒来,即既没有通知也没有中断 最后一种情况被称为虚假唤醒,并且是唤醒Thread
时应始终检查其等待条件是否为真的原因之一。 如果没有, Thread
应该调用并再次进入wait()
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.