Java中虚假唤醒的含义和危害?

时间:2013-07-05 01:52:18

标签: java multithreading concurrency

Java中虚假唤醒的含义是什么?为什么他们这么危险?你能用一个例子解释一下吗?

1 个答案:

答案 0 :(得分:0)

允许JVM唤醒等待的线程而不用另一个调用其notify()方法的线程 - 一个所谓的“虚假唤醒”。

如果您不考虑这种可能性,您可以在尚未达到等待状态时继续处理,从而导致行为不正确。

唤醒时的正确方法是首先检查线程正在等待的状态是否已经实现,否则立即调用wait()

返回等待状态