检查wait()中的中断状态

时间:2016-09-03 06:42:59

标签: java multithreading interrupt

当线程t调用对象wait()上的u方法时,它会进入WAITING状态,直到另一个线程在同一个对象{{1}上调用notify() } OR 另一个线程在等待线程u上调用interrupt()方法。考虑到等待线程不消耗CPU周期,等待线程如何检查t中的中断状态并抛出wait()

也就是说,我想象InterruptedException中的以下代码:

wait()

1 个答案:

答案 0 :(得分:4)

必须恢复状态为WAITING的线程再次变为RUNNABLE。

此恢复正在较低级别完成,并由通知或中断调用。

等待线程不执行任何代码。而是设置中断标志(在较低级别),线程恢复 - 状态RUNNABLE - 并且一旦它再次运行,则检查中断状态。