java-notify方法如何工作
作者:互联网
按照javadoc的通知,唤醒正在该对象的监视器上等待的单个线程.如果有任何线程在此对象上等待,则选择其中一个唤醒.选择是任意的,并且可以根据实现情况进行选择.线程通过调用其中一个wait方法在对象的监视器上等待.
我想知道如何通过通知实现此行为.我在许多站点上都读到它发出信号,但是信号在这里意味着什么?
notify是直接向第一个等待线程发送信号还是向线程调度程序发送信号?
解决方法:
它不会将其发送到第一个线程,而是发送到任何等待的线程(但仅发送到一个线程).
您应该阅读the javadoc more carefully.
信号也可能是一个坏名字,“通知”更好.该机制的实际实现对Java程序员是透明的,并且您不需要了解技术实现….除非您对Java内部结构感兴趣,然后建议您检查OpenJDK源代码.
标签:java-threads,java,multithreading 来源: https://codeday.me/bug/20191011/1896391.html