zbb20180929 thread notify()与notifyAll()的区别

Posted super-admin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了zbb20180929 thread notify()与notifyAll()的区别相关的知识,希望对你有一定的参考价值。

notify():

唤醒在此对象监视器上等待的单个线程。如果所有线程都在此对象上等待,则会选择唤醒其中一个线程。选择是任意性的,并在对实现做出决定时发生。线程通过调用其中一个 wait 方法,在对象的监视器上等待。

直到当前线程放弃此对象上的锁定,才能继续执行被唤醒的线程。被唤醒的线程将以常规方式与在该对象上主动同步的其他所有线程进行竞争;例如,唤醒的线程在作为锁定此对象的下一个线程方面没有可靠的特权或劣势。

 

notifyAll():

唤醒在此对象监视器上等待的所有线程。线程通过调用其中一个 wait 方法,在对象的监视器上等待。

直到当前线程放弃此对象上的锁定,才能继续执行被唤醒的线程。被唤醒的线程将以常规方式与在该对象上主动同步的其他所有线程进行竞争;例如,唤醒的线程在作为锁定此对象的下一个线程方面没有可靠的特权或劣势。

--------------------- 本文来自 PettyKoKo 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/qq_31028891/article/details/78036234?utm_source=copy 

以上是关于zbb20180929 thread notify()与notifyAll()的区别的主要内容,如果未能解决你的问题,请参考以下文章

zbb20180929 thread 自旋锁阻塞锁可重入锁悲观锁乐观锁读写锁对象锁和类锁

zbb20180913 java thread 死锁示例代码

zbb20180913 java thread JDK-Lock锁

zbb20171214 java 获取classpath路径

大一训练赛-20180929-整套代码

notification:object not locked by thread before notify()