第一题:问题描述
使用多线程在控制台上打印出如下效果,每次只能打印一个数字。
线程A: 1 2 3 4 5
线程B: 6 7 8 9 10
线程C: 11 12 13 14 15
线程A: 16 17 18 19 20
线程B: 21 22 ......
.........
线程C: 71 72 73 74 75
/**
* 线程A: 1 2 3 4 5
* 线程B: 6 7 8 9 10
* 线程C: 11 12 13 14 15
* 线程A: 16 17 18 19 20
* 线程B: 21 22 ......
* .........
* 线程C: 71 72 73 74 75
*
*
* 分析:
* 第0个线程 线程A: 1,2,3,4,5 .......... 16,17,18,19,20........
* 第1个线程 线程B: 6,7,8,9,10...........21,22,23,24,25.......
* 第2个线程 线程C: 11.................
*
* 怎么能让num和0|1|2扯上关系
* num%15------>范围缩小到了0~14
* num%15/5------>范围缩小到了0~2
*
* 所以: =0的使用线程A打印
* =1的使用线程B打印
* =2的使用线程C打印
*/
public class Test01 {
public static void main(String[] args) {
Thread t1 = new MyThread("线程A", 0);
Thread t2 = new MyThread("线程B", 1);
Thread t3 = new MyThread("线程C", 2);
t1.start();
t2.start();
t3.start();
}
}
class MyThread extends Thread {
//要打印的数字
private static int number =