java中Object源码理解 (2)

主要唤醒在这个对象上等待的单个线程,选择哪个线程是随机的,线程等待的对象是通过调用wait方法监控的对象,被唤醒的对象会释放当前对象上的锁;

被唤醒的线程只能是当前对象监视管理的线程,那么对线程的监视管理有三种方式:

(1)通过执行该对象的同步实例方法

(2)加synchronized

(3)执行该类的同步静态方法

每个线程只能有一个对象监视管理

 

notifyAll()

唤醒正在此对象监视器上等待的所有线程,详见notify方法

 

wait(long)/wait(long,int)/wait()

使当前线程等待,知道其他线程调用notify()或者notifyAll()或者已经超时才会唤醒,当前线程必须是在当前的对象的监视管理中;

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzzzjf.html