如果没有调用notify(),等待线程会发生什么?这是虚假的唤醒吗?
答案 0 :(得分:8)
如果等待 Thread
未通过通知,则通过调用该对象上的notify()
或notifyAll()
,该线程正在等待,然后可能发生以下任何一种情况:
Thread
一直在对象的等待池 Thread
变为 runnable Thread
中断并再次成为 runnable Thread
唤醒没有的理由,即它既没有通知也没有中断 最后一种情况称为虚假唤醒,这是唤醒时Thread
应始终检查其等待条件是否为真的原因之一或不。如果没有,Thread
应该拨打电话并再次转到wait()
。