本题考察你对 volatile
关键字的掌握,请编写代码,实现通过三个线程来递增打印数字。
在 Solution
类中,已经定义了 threadId
代表当前线程的 id
、self
代表当前线程自身,你可以根据需要自行添加新的成员变量。Solution
类继承了 Runnable
类,你需要重写 run()
方法以达到递增打印数字的目的。其中,你需要启动 3
个线程分别打印 5
个数字,如:线程1
需要打印 1, 2, 3, 4, 5
、线程2
需要打印 6, 7, 8, 9, 10
、线程3
需要打印 11, 12, 13, 14, 15
,接着再由 线程1
打印接下来的 5
个数字。以此类推,直到打印到 28
为止。
你的代码应该输出:
Thread 1: 1
Thread 1: 2
Thread 1: 3
Thread 1: 4
Thread 1: 5
Thread 2: 6
Thread 2: 7
Thread 2: 8
Thread 2: 9
Thread 2: 10
Thread 3: 11
Thread 3: 12
Thread 3: 13
Thread 3: 14
Thread 3: 15
Thread 1: 16
Thread 1: 17
Thread 1: 18
Thread 1: 19
Thread 1: 20
Thread 2: 21
Thread 2: 22
Thread 2: 23
Thread 2: 24