notify()与notifyAll()的区别

wait():  使当前线程等待,直到另一个线程为此对象调用notify()方法或notifyAll()方法。

notify():  唤醒正在此对象监视器上等待的单个线程。

notifyAll():  唤醒等待此对象监视器的所有线程。

 

根据上述两点,在调用wait(), notify()或notifyAll()的时候,必须先获得锁,且状态变量须由该锁保护,而固有锁对象与固有条件队列对象又是同一个对象。也就是说,要在某个对象上执行wait,notify,先必须锁定该对象,而对应的状态变量也是由该对象锁保护的。

 

 

 

转载出处:https://www.cnblogs.com/techyc/p/3272321.html

猜你喜欢

转载自blog.csdn.net/weixin_40403930/article/details/86980901