我使用的 Java 文档清楚地表明,该Object.wait()
方法在返回之前需要关联的监视器,无论它是被通知还是虚假唤醒;任何正常的方法返回都将在监视器重新获取之前。
但是,对于Object.wait()
引发异常的事件(例如Interrupted Exception
. 我推断它确实在抛出异常之前重新获取了锁。但是,文档不是很明确,所以我不是 100% 确定...
这是我正在查看的文档:http: //docs.oracle.com/javase/6/docs/api/java/lang/Object.html#wait%28%29
那么,我的推断是否正确,或者我的调用代码是否需要在抛出异常后处理监视器状态(例如,如果需要,重新获取它)?