java中线程间的通信

java中线程间的通信
**
 * 线程间通信
 * 多个线程在处理同一资源 ,但是任务却不同
 */

线程间的通信利用了多线程的等待唤醒机制,具体如下 
/**
 * 等待唤醒机制
 * <p>
 * 涉及的方法
 * 1.wait(): 让线程处于冻结状态,被wait的线程会被存储到线程池中。
 * 2.notify():用于唤醒线程池中的一个线程(任意)
 * 3.notifyAll():唤醒线程池中的所有线程
 * <p>
 * 这些方法都必须定义在同步 中,
 * 因为这些方法都是用于操作线程状态的方法,必须要明确到底操作的是哪个锁上的线程
 * <p>
 * <p>
 * 为什么操作线程的方法 wait  notify  notifyAll定义在了Object类中
 * 因为这些方法是监视器的方法,监视器其实就是锁
 * 锁可以是任意的对象 ,任意的对象 调用 的方法一定定义 在Object类中
 */

下面的示例 是  同一资源Resource,通过 输入线程Input输入内容,输出线程Output输出内容

猜你喜欢

转载自blog.csdn.net/new_lichungang/article/details/78479688