使用java多线程编程一个龟兔赛跑的程序
时间: 2024-01-22 18:19:30 浏览: 77
好的,下面是一个简单的龟兔赛跑程序,使用Java多线程编程实现:
```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 position = 0;
public void run() {
while (position < 100) {
position += 3;
System.out.println("兔子跑了 " + position + " 米");
try {
Thread.sleep(100); // 休眠100毫秒
} catch (InterruptedException e) {
e.printStackTrace();
}
}
System.out.println("兔子到达了终点!");
}
}
class Turtle implements Runnable {
private int position = 0;
public void run() {
while (position < 100) {
position += 1;
System.out.println("乌龟跑了 " + position + " 米");
try {
Thread.sleep(200); // 休眠200毫秒
} catch (InterruptedException e) {
e.printStackTrace();
}
}
System.out.println("乌龟到达了终点!");
}
}
```
在这个程序中,我们定义了两个类:`Rabbit` 和 `Turtle`,它们都实现了 `Runnable` 接口。在 `run()` 方法中,我们使用了 `while` 循环模拟了龟兔赛跑的过程,不断地更新位置并输出信息。在每次更新位置之后,我们使用 `Thread.sleep()` 方法让线程休眠一段时间,以模拟兔子和乌龟的不同速度。
在 `main()` 方法中,我们创建了两个线程分别运行兔子和乌龟的 `run()` 方法,并调用了 `start()` 方法启动线程。
运行程序后,你会看到兔子和乌龟在终端上输出每次更新的位置信息,直到其中一个到达终点。
阅读全文