N个线程轮流打印数字问题
来源:互联网 发布:php pdo bindvalue 编辑:程序博客网 时间:2024/06/08 16:30
//一个关于线程的经典面试题,要求用三个线程,按顺序打印1,2,3,4,5.... 71,72,73,74, 75.//线程1先打印1,2,3,4,5, 然后是线程2打印6,7,8,9,10, 然后是线程3打印11,12,13,14,15. //接着再由线程1打印16,17,18,19,20....以此类推, 直到线程3打印到75。public class Printer implements Runnable {int id;static int num = 1;public Printer(int id) {this.id = id;}@Overridepublic void run() {synchronized (Printer.class) {while (num <= 75) {if (num / 5 % 3 == id) {System.out.print("id" + id + ":");for (int i = 0; i < 5; i++)System.out.print(num++ + ",");System.out.println();Printer.class.notifyAll();} else {try {Printer.class.wait();} catch (InterruptedException e) {e.printStackTrace();}}}}}public static void main(String[] args) {new Thread(new Printer(0)).start();new Thread(new Printer(1)).start();new Thread(new Printer(2)).start();}}
打印结果:
id0:1,2,3,4,5,id1:6,7,8,9,10,id2:11,12,13,14,15,id0:16,17,18,19,20,id1:21,22,23,24,25,id2:26,27,28,29,30,id0:31,32,33,34,35,id1:36,37,38,39,40,id2:41,42,43,44,45,id0:46,47,48,49,50,id1:51,52,53,54,55,id2:56,57,58,59,60,id0:61,62,63,64,65,id1:66,67,68,69,70,id2:71,72,73,74,75,
0 0
- N个线程轮流打印数字问题
- Java n个线程轮流打印数字的问题
- 3个线程依次轮流打印出75个数
- 【面试】--三个线程轮流打印ABC
- java多线程轮流打印数据问题
- 黑马程序员—学习日志,多线程关于3个线程轮流执行的问题。
- 三个线程,轮流打印10次各自的线程ID
- 线程笔记一:java线程经典题目:轮流打印
- 多线程问题,三个线程轮流进行,每个线程进行n次操作,共执行n*n*3次操作。本代码用三军攻击做演示,通俗易懂。
- Java线程问题实现打印数字字母
- C++11用两个线程轮流打印整数
- JAVA基础(2) -- 两个线程轮流打印1-100
- java实现3个线程轮流打印A、B、C,达到“ABBCCCAAAABBBBBCCCCCC”,打印200个字符停止,并在控制台打印出A、B、C各打印了多少个
- 多线程同步之事件 -- 2个线程交替打印数字
- 多线程轮流打印
- Java轮流打印字符
- JAVA程序设计(18.1)----- 1多线程轮流打印 线程调度 线程池 synchronized wait notify 内部类
- n个数字相加组合问题 & 荷兰旗问题
- Android应用界面开发_学习笔记_第四周
- 写在开头的话
- Spring Batch(5): Step详解
- 对比DataTable和泛型
- Linux下yum命令详解
- N个线程轮流打印数字问题
- JAVA多线程开发——线程的创建与运行
- mysql优化小方法
- 【操作系统】Tips(持续更新)
- APP引导页的实现
- POJ 3061 Subsequence(尺取法)
- 浅析关联引用
- php对一次请求处理过程或生命周期详解
- codevs1536 海战