使用java多线程编程一个龟兔赛跑的程序
时间: 2024-01-22 12:20:39 浏览: 71
好的,以下是一个简单的龟兔赛跑的程序示例:
```java
public class TurtleRabbitRace {
public static void main(String[] args) {
Rabbit rabbit = new Rabbit();
Turtle turtle = new Turtle();
Thread rabbitThread = new Thread(rabbit);
Thread turtleThread = new Thread(turtle);
rabbitThread.start();
turtleThread.start();
}
}
class Rabbit implements Runnable {
private int distance = 100;
@Override
public void run() {
while (distance > 0) {
System.out.println("兔子跑了1步");
distance--;
try {
Thread.sleep(100); // 模拟兔子跑步所需的时间
} catch (InterruptedException e) {
e.printStackTrace();
}
}
System.out.println("兔子到达终点!");
}
}
class Turtle implements Runnable {
private int distance = 100;
@Override
public void run() {
while (distance > 0) {
System.out.println("乌龟跑了1步");
distance--;
try {
Thread.sleep(200); // 模拟乌龟跑步所需的时间
} catch (InterruptedException e) {
e.printStackTrace();
}
}
System.out.println("乌龟到达终点!");
}
}
```
这个程序创建了一个兔子和一个乌龟的实例,并分别创建了两个线程来模拟它们的比赛过程。每个线程都重写了 `Runnable` 接口的 `run()` 方法,在其中通过循环模拟了每一步的操作,并通过 `Thread.sleep()` 方法模拟了跑步所需的时间。
在 `main()` 方法中,我们创建了两个线程并启动它们。当其中一个线程完成比赛后,程序就会输出对应的胜利信息。
阅读全文