题目:模拟接力赛跑
需求说明:
1、多人参加1000米接力跑
2、每人跑100米,换下个选手
3、每跑10米显示信息
实现思路:
1、创建线程类RunThread
1.1多人共跑1000米,涉及多线程共享数据
2、实现run()方法
2.1二重循环实现
3、使用线程同步保证在跑选手只有1人
4、实现测试类
4.1创建多个线程模拟多个选手参加比赛
解题代码:
public class Demo1 implements Runnable {
private int meters = 1000; //共跑1000米
@Override
public void run() {
while (true) {
if (meters <= 100) {
break;
}
go();
return;
}
}
//同步方法:跑步(每人跑100米)
public synchronized void go() {
System.out.println(Thread.currentThread().getName() + "拿到接力棒!");
for (int i = 0; i < 100; i += 10) {
try {
Thread.sleep(100);
} catch (InterruptedException e)