超时时java.lang.IllegalMonitorStateException

时间:2015-03-31 11:20:40

标签: java

是否可以在java.lang.IllegalMonitorStateException上获取notifyAll()因为wait(timeout)已超过超时时间? 如果没有,超时时间过后notifyAll()发生时会发生什么? notifyAll()wait(timeout)都被阻止在同一个锁定对象的同步块中。

synchronized(lockObj) {
    lockObj.notifyAll();
}

synchronized(lockObj) {
    lockObj.wait(timeout);
}

1 个答案:

答案 0 :(得分:1)

不,你没有获得异常。如果在没有等待的情况下拨打notifyAll,基本上什么也没发生。这不是一个错误条件。