java wait()方法notifyAll()方法实现三个线程打印A,B,C字符
来源:互联网 发布:手机破解压缩文件软件 编辑:程序博客网 时间:2024/05/01 05:41
java wait()方法notifyAll()方法
...wait()释放对象的锁,让出cpu,让其他的线程执行(同一个对象锁)
...notifyAll()方法是唤醒该对象上全部等待的线程
建立三个线程,A线程打印10次A,B线程打印10次B,C线程打印10次C,要求线程同时运行,交替打印10次ABC。这个问题用Object的wait(),notify()就可以很方便的解决。代码如下:
package com.thread;class printData{ private static int index=0; public synchronized void priA(){ while(index%3!=0){ try {this.wait();} catch (InterruptedException e) {e.printStackTrace();} } System.out.println("A"); index++; this.notifyAll(); } public synchronized void priB(){ while(index%3!=1){ try {this.wait();} catch (InterruptedException e) {e.printStackTrace();} } System.out.println("B"); index++; this.notifyAll(); } public synchronized void priC(){ while(index%3!=2){ try {this.wait();} catch (InterruptedException e) {e.printStackTrace();} } System.out.println("C"); index++; this.notifyAll(); }}public class DataShareDeo { public static void main(String[] args) { final printData data= new printData(); new Thread(new Runnable(){public void run() { for(int i=0;i<10;i++){ data.priA(); }} }).start(); new Thread(new Runnable(){public void run() { for(int i=0;i<10;i++){ data.priB(); }} }).start(); new Thread(new Runnable(){public void run() { for(int i=0;i<10;i++){ data.priC(); }} }).start();}}
0 0
- java wait()方法notifyAll()方法实现三个线程打印A,B,C字符
- 转:java实现三个线程A B C,A线程打印A之后才能B线程打印B,然后接着C线程执行打印C,继而循环下去
- java实现三个线程A B C,A线程打印A之后才能B线程打印B,然后接着C线程执行打印C,继而循环下去
- 转:java实现三个线程A B C,A线程打印A之后才能B线程打印B,然后接着C线程执行打印C,继而循环下去
- Java线程_Notify,NotifyAll,Wait方法
- 线程 :循环打印A,B 方法一:利用wait notify
- java 三个线程分别打印A B C 50次
- Java多线程--三个线程分别打印a,b,c.请用多线程实现循环打印15次abc
- wait notify notifyall 线程同步方法简述
- 线程通信(wait()、notify()、notifyAll() 方法)
- java 线程上机题 循环唤醒 三个线程轮流打印 顺序 A线程->B线程->C线程
- 线程(7)--wait()方法、notify()方法、notifyAll()方法
- 三个线程交替打印A、B、C的问题
- Juc开启三个线程打印A,B,C
- Java中的wait、notify、notifyall方法
- java多线程:wait(),notify(),notifyAll()方法
- java notify() notifyAll() wait()方法学习
- 题目:有三个线程分别打印A、B、C,请用多线程编程实现,在屏幕打印10次ABC
- [Linux]很方便的上传下载文件工具rz和sz
- 杭电1728————一直WA的BFS(有思维惯性带来的陷阱)
- 网络测试命令
- Oracle之触发器 函数
- 在 Mac OS X 终端里使用 Solarized 配色方案
- java wait()方法notifyAll()方法实现三个线程打印A,B,C字符
- IE6 PNG透明终极解决方案
- ffmpeg解复用视频文件
- C语言可变参数宏定义方法
- 怎么会有种新车报废的感觉 粉红色奥拓报废之旅
- Android四大组件之Activity
- Rotate Image
- 四旋翼飞行器Quadrotor飞控之 PID调节(参考APM程序)
- libusb异步中断传输使用说明