Java线程通信,
分享于 点击 6359 次 点评:230
Java线程通信,
1. 线程通信概念
一个线程完成了自己的任务时,要通知另外一个线程去完成另外一个任务。
2. 线程通信方法
wait(): 等待
如果线程执行了wait方法,那么该线程会进入到以锁对象为标识符的线程池中等待,等待状态下的线程必须要被其他线程调用notify方法才能唤醒。
notify(): 唤醒
如果线程执行了notify方法,那么就会唤醒以锁对象为标识符的线程池中等待线程中的一个。
notifyAll() :唤醒所有
唤醒以锁对象为标识符的线程池中的所有等待线程。
3. wait与notify方法注意事项
wait方法与notify方法是属于Object对象的。
说明:
因为锁对象可以使任意的对象,所以这个两个方法定义在Object对象中。wait方法与notify方法必须要在同步代码块或者是同步函数中才能使用。
说明:
因为这两个方法一定要由锁对象进行调用,而锁对象是在同步代码块或同步函数中使用的,所以这两个方法必须在同步代码块货同步函数中使用。wait方法与notify方法必需要由同一个锁对象调用。
说明:
因为这两个方法都是要到以锁对象为标识符的线程池中进行操作的,不同的的锁对象线程池不一样,所以必须是有同一个锁对象进行调用,不然就无法通知另外的线程唤醒。
相关文章
- 暂无相关文章
用户点评