是否可以在java.lang.IllegalMonitorStateException
上获取notifyAll()
因为wait(timeout)
已超过超时时间?
如果没有,超时时间过后notifyAll()
发生时会发生什么?
notifyAll()
和wait(timeout)
都被阻止在同一个锁定对象的同步块中。
synchronized(lockObj) {
lockObj.notifyAll();
}
和
synchronized(lockObj) {
lockObj.wait(timeout);
}
答案 0 :(得分:1)
不,你没有获得异常。如果在没有等待的情况下拨打notifyAll
,基本上什么也没发生。这不是一个错误条件。