1 分别使用实现 Runnable 接口和继承 Thread 类的两个方式创建 Rabbit(兔子)线程 类和 Tortoise(乌龟)线程类。 综合题(每道题约 5~10 分钟) 2 Tortoise(乌龟)线程类 3 正确设置乌龟执行跑步需要的循环条件和所需变量(提示:兔子跑完时,将终止乌 龟 的线程,所以注意定义变量方式,和终止循环条件=>使用静态变量定义乌龟路程,以 便于随时终止乌龟循环 4 每次循环,输出"第 X 秒:[乌龟]跑了 X 米" 5 设置线程睡眠:间隔 1 秒执行 1 次 6 R
时间: 2024-03-17 17:46:47 浏览: 56
abbit(兔子)线程类
使用实现 Runnable 接口的方式创建 Rabbit(兔子)线程类:
```java
public class Rabbit implements Runnable {
@Override
public void run() {
System.out.println("兔子开始跑步!");
for (int i = 1; i <= 100; i++) {
try {
Thread.sleep(100); //每次循环线程睡眠100毫秒
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("第 " + i + " 秒:[兔子]跑了 " + i + " 米");
}
System.out.println("兔子跑步结束!");
Tortoise.stopRunning(); //兔子跑完时,停止乌龟的线程
}
}
```
使用继承 Thread 类的方式创建 Rabbit(兔子)线程类:
```java
public class Rabbit extends Thread {
@Override
public void run() {
System.out.println("兔子开始跑步!");
for (int i = 1; i <= 100; i++) {
try {
Thread.sleep(100); //每次循环线程睡眠100毫秒
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("第 " + i + " 秒:[兔子]跑了 " + i + " 米");
}
System.out.println("兔子跑步结束!");
Tortoise.stopRunning(); //兔子跑完时,停止乌龟的线程
}
}
```
Tortoise(乌龟)线程类
```java
public class Tortoise implements Runnable {
private static int totalDistance = 0; //静态变量定义乌龟路程,以便于随时终止乌龟循环
public static void stopRunning() {
System.out.println("兔子跑完了,乌龟停止跑步!");
System.out.println("乌龟共跑了 " + totalDistance + " 米");
Thread.currentThread().interrupt(); //停止当前线程
}
@Override
public void run() {
while (!Thread.currentThread().isInterrupted()) { //乌龟执行跑步需要的循环条件
try {
Thread.sleep(1000); //线程睡眠1秒
} catch (InterruptedException e) {
e.printStackTrace();
}
totalDistance++; //每次循环,静态变量加1
System.out.println("第 " + totalDistance + " 秒:[乌龟]跑了 " + totalDistance + " 米");
}
}
}
```
阅读全文