Java多线程 循环打印ABC 10次
来源:互联网 发布:java setcolor 编辑:程序博客网 时间:2024/06/04 22:21
问题描述
Java多线程,循环打印”ABC”10次。
代码
public class printABC { private static int state = 0; public static void main(String[] args) { final printABC t = new printABC(); Thread A = new Thread(new Runnable() { public synchronized void run() { // 设定打印10次 for (int i = 0; i < 10; i++) { synchronized (t) { // 如果不满足A的打印条件,则调用wait,一直阻塞 while (state % 3 != 0) { try { t.wait(); } catch (InterruptedException e) { e.printStackTrace(); } } // 执行到这里,表明满足条件,打印A,设置state // 调用notifyAll方法 System.out.println("A"); state++; t.notifyAll(); } } } }); Thread B = new Thread(new Runnable() { public synchronized void run() { for (int i = 0; i < 10; i++) { synchronized (t) { while (state % 3 != 1) { try { t.wait(); } catch (InterruptedException e) { e.printStackTrace(); } } System.out.println("B"); state++; t.notifyAll(); } } } }); Thread C = new Thread(new Runnable() { public synchronized void run() { for (int i = 0; i < 10; i++) { synchronized (t) { while (state % 3 != 2) { try { t.wait(); } catch (InterruptedException e) { e.printStackTrace(); } } System.out.println("C"); state++; t.notifyAll(); } } } }); A.start(); B.start(); C.start(); }}
1 0
- Java多线程 循环打印ABC 10次
- Java多线程循环打印ABC 10次,可能是东半球最美解决方案了
- 多线程循环打印ABC
- 【机试】华为2014校招机试:多线程循环打印十次ABC
- 多线程之三个ABC线程实现循环打印100次
- Java多线程--三个线程分别打印a,b,c.请用多线程实现循环打印15次abc
- 多线程(至少三个线程)分别打印A、B、C,要求按ABC的顺序循环打印10次。
- Java多线程编程7--实例--顺序打印3次ABC
- java 实现3个线程 依次打印ABC,并且循环10次
- Java 3个线程依次打印ABC,并且循环10次
- java 实现3个线程 依次打印ABC,并且循环10次
- JAVA多线程打印ABC
- Java多线程:用三个线程控制循环输出10次ABC
- Java多线程:用三个线程控制循环输出10次ABC
- Java多线程:用三个线程控制循环输出10次ABC
- Java多线程:用三个线程控制循环输出10次ABC
- 循环打印三个线程,ABC 十次
- 多线程练习--顺序打印ABC十次
- Java模块化:jigsaw初体验
- Linux安装JDK
- BufferedReader的简单示例
- ++i和i++效率谁高
- jsp中的重定向(不同的跳转方式)
- Java多线程 循环打印ABC 10次
- 国庆Java作业
- 绝对路径和相对路径
- iOS开发- 处理空字符串
- Codeforces Round #324 (Div. 2) 584A. Olesya and Rodion
- 课程学习-组合数学
- iOS开发零基础教程之真机调试流程
- Linux Shell中的变量-位置变量
- 深度学习(八)RBM受限波尔兹曼机学习-未完待续