欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

Java线程通信,

来源: javaer 分享于  点击 6359 次 点评:230

Java线程通信,


1. 线程通信概念

 一个线程完成了自己的任务时,要通知另外一个线程去完成另外一个任务。

2. 线程通信方法

  • wait(): 等待

    如果线程执行了wait方法,那么该线程会进入到以锁对象为标识符的线程池中等待,等待状态下的线程必须要被其他线程调用notify方法才能唤醒。

  • notify(): 唤醒

    如果线程执行了notify方法,那么就会唤醒以锁对象为标识符的线程池中等待线程中的一个。

  • notifyAll() :唤醒所有

    唤醒以锁对象为标识符的线程池中的所有等待线程。

3. wait与notify方法注意事项

  • wait方法与notify方法是属于Object对象的。

    说明:
    因为锁对象可以使任意的对象,所以这个两个方法定义在Object对象中。

  • wait方法与notify方法必须要在同步代码块或者是同步函数中才能使用。

    说明:
    因为这两个方法一定要由锁对象进行调用,而锁对象是在同步代码块或同步函数中使用的,所以这两个方法必须在同步代码块货同步函数中使用。

  • wait方法与notify方法必需要由同一个锁对象调用。

    说明:
    因为这两个方法都是要到以锁对象为标识符的线程池中进行操作的,不同的的锁对象线程池不一样,所以必须是有同一个锁对象进行调用,不然就无法通知另外的线程唤醒。

相关文章

    暂无相关文章
相关栏目:

用户点评