适时等待认证实践考试

时间:2019-09-10 06:40:25

标签: java concurrency wait

第二个答案为什么正确?什么异常被抛出,为什么?

 wait*emphasized text*

P.S。感谢您的回答!

现在我看到t1.wait()应该在synchronized(t1)内-在t1上,该实例用于调用wait()。另外,this answer很有帮助。

enter image description here

这是来自here

免费测试

1 个答案:

答案 0 :(得分:4)

由于此代码调用t1.wait时未保持对t1对象的锁定,因此IllegalMonitorStateException将被引发-如Object::wait(time)方法中所述。这是RuntimeException,因此不必在方法签名中指定。 synchronized方法上的Bees::go将确保调用此方法的线程将锁定Bees对象而不是t1对象的锁。