线程 - 等待()

Jav*_*orn 3 java multithreading thread-safety

wait()物体上的方法可以被称为仅在即当前线程同步上下文必须有对象的锁来调用wait()方法.现在,如果一个线程T1对一个object(obj)有一个锁并调用它的wait方法obj.wait().其他线程怎么能锁定这个对象(obj),这样他们也可以调用wait,这已经拥有了T1?

phi*_*hag 9

wait释放同步的上下文.从文档:

当前线程必须拥有此对象的监视器.线程释放此监视器的所有权并等待,直到另一个线程通知等待此对象的监视器上的线程唤醒(...)