Java多线程中的wait与notify
来源:互联网 发布:流水号生成算法 编辑:程序博客网 时间:2024/06/07 05:01
三个线程输出一段内容后通过wait()进入阻塞状态,随后通过调用所对象obj的notify()方法,使其中随机的一个线程唤醒,再通过notifyAll()使剩余的两个线程唤醒。public class WaitNotifyTest { public static void main(String[] args) { TestThread testThread1 = new TestThread(); TestThread testThread2 = new TestThread(); TestThread testThread3 = new TestThread(); testThread1.start(); testThread2.start(); testThread3.start(); try { Thread.sleep(1000 * 5); } catch (InterruptedException e) { System.out.println("Main Thread Interrupted"); } System.out.println("Resume By Notify"); testThread1.resumeByNotify(); try { Thread.sleep(1000 * 5); } catch (InterruptedException e) { System.out.println("Main Thread Interrupted"); } System.out.println("Resume By NotifyAll"); testThread1.resumeByNotifyAll(); }}class TestThread extends Thread { private static Object obj = new Object(); @Override public void run() { System.out.println(getName() + " Before Wait"); synchronized (obj) { try { obj.wait(); } catch (InterruptedException e) { System.out.println(getName() + " Test Thread Interrupted"); } } System.out.println(getName() + " After Wait"); } public void resumeByNotify() { synchronized (obj) { obj.notify(); } } public void resumeByNotifyAll() { synchronized (obj) { obj.notifyAll(); } } }
Thread-0 Before WaitThread-1 Before WaitThread-2 Before WaitResume By NotifyThread-0 After WaitResume By NotifyAllThread-2 After WaitThread-1 After Wait
- java多线程中的wait与notify
- Java多线程中的wait与notify
- 多线程中的wait与notify
- java多线程中的wait/notify
- Java多线程设计中的:wait/notify 使用
- java 多线程中的 wait 和 notify
- java多线程中的wait()和notify()
- Java多线程wait/notify
- Java中的wait()与notify()/notifyAll()
- Java线程中的wait(),notify()与sleep()
- 多线程中的wait()和notify()
- java,wait与notify
- java,wait与notify
- 多线程synchronized、wait与notify
- java多线程: wait/notify机制
- java多线程wait() ,notify() notifyAll()
- java 多线程 wait notify sleep
- Java多线程wait()和notify()
- 如何解决在linux下使用wget下载jdk失败的问题
- django项目使用css、js等静态文件
- powerbuilder初试——揭开那层薄纱
- opencv2学习笔记:4.2计算图像直方图
- Eclipse开发Swing, SWT, RCP的插件
- Java多线程中的wait与notify
- 动态编译 Java
- 简历制作
- ios开发--loadView和viewDidLoad,即view的生命周期浅析
- 2.如何用好ASSERT宏让ASSERT更好用(定制自己的Assert)
- Git的基本操作
- 极致真实的CE游戏引擎
- mysql日期函数
- D-We Love MOE Girls