线程 - wait()
对象上的 wait()
方法只能在同步上下文中调用,即当前线程必须拥有对象上的锁才能调用 wait()
方法。现在,如果线程 T1 拥有对象 (obj
) 的锁并调用其等待方法 obj.wait()
。其他线程如何获得此对象(obj
)的锁定,以便它们也可以调用已经拥有 T1 的 wait ?
The wait()
method on an object can be called only in the synchronized context i.e. the current thread must have a lock on the object to invoke the wait()
method. Now if a thread T1 has a lock on an object(obj
) and invokes its wait method obj.wait()
. How can other threads get lock on this object(obj
) so that they can also call wait, which is already possessed T1 ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
wait
释放同步上下文。来自文档:wait
releases the synchronized context. From the documentation:您只需要在调用 wait() 方法期间进行同步,而不是在等待时间期间进行同步。
You only need to be synchronized for the duration of calling the wait() method, not for the duration of the wait time.