Java中实现线程通信的三个方法的作用是什么?

Posted yanss

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java中实现线程通信的三个方法的作用是什么?相关的知识,希望对你有一定的参考价值。

Java提供了3个方法解决线程之间的通信问题,均是java.lang.Object类的方法,都只能在同步方法或者同步代码块中使用,否则会抛出异常。

方法名 作 用
final void wait() 表示线程一直等待,直到其它线程通知
void wait(long timeout) 线程等待指定毫秒参数的时间
final void wait(long timeout,int nanos) 线程等待指定毫秒、微妙的时间
final void notify() 唤醒一个处于等待状态的线程。注意的是在调用此方法的时候,并不能确切的唤醒某一个等待状态的线程,而是由JVM确定唤醒哪个线程,而且不是按优先级。
final void notifyAll() 唤醒同一个对象上所有调用wait()方法的线程,注意并不是给所有唤醒线程一个对象的锁,而是让它们竞争

以上是关于Java中实现线程通信的三个方法的作用是什么?的主要内容,如果未能解决你的问题,请参考以下文章

漫画 | Java多线程与并发

用代码说话:如何在Java中实现线程

怎么在基于对话框的MFC程序中实现多线程?

Java中实现多线程的两种方式之间的区别

JavaSE 常见面试题-线程篇

线程安全在Java中实现单例模式的有效方法? [复制]