Notifyl学习笔记
标签:
JavaScript
/** * @param args * 等待唤醒机制 */ public static void main(String[] args) { final Printer p = new Printer(); new Thread() { public void run() { while(true) { try { p.print1(); } catch (InterruptedException e) { e.printStackTrace(); } } } }.start(); new Thread() { public void run() { while(true) { try { p.print2(); } catch (InterruptedException e) { e.printStackTrace(); } } } }.start(); }}//等待唤醒机制class Printer { private int flag = 1; public void print1() throws InterruptedException { synchronized(this) { if(flag != 1) { this.wait(); //当前线程等待 } System.out.print("白"); System.out.print("日"); System.out.print("一"); System.out.print("山"); System.out.print("过"); System.out.print("\r\n"); flag = 2; this.notify(); //随机唤醒单个等待的线程 } } public void print2() throws InterruptedException { synchronized(this) { if(flag != 2) { this.wait(); } System.out.print("黄"); System.out.print("河"); System.out.print("入"); System.out.print("海"); System.out.print("流"); System.out.print("\r\n"); flag = 1; this.notify(); } }
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦