Java龟兔赛跑多线程
时间: 2024-10-12 10:02:10 浏览: 26
在Java中实现“龟兔赛跑”的多线程场景通常是为了演示线程并发和同步的概念。这是一个经典的寓言故事,可以转化为两个线程:兔子代表快速运行的线程,乌龟代表慢速运行的线程。下面是一个简单的示例:
```java
class Rabbit extends Thread {
@Override
public void run() {
System.out.println("兔子开始睡觉...");
try {
sleep(5000); // 兔子睡5秒
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("兔子醒来并跑步...");
}
}
class Turtle extends Thread {
@Override
public void run() {
while (!Thread.currentThread().isInterrupted()) { // 乌龟一直跑
System.out.println("乌龟正在慢慢爬...");
}
System.out.println("乌龟到达终点");
}
}
public class TortoiseAndHareRace {
public static void main(String[] args) {
Rabbit rabbit = new Rabbit();
Turtle turtle = new Turtle();
rabbit.start(); // 兔子先启动
turtle.start(); // 然后乌龟启动
// 如果你想让兔子中途停下来休息,可以加入以下代码(中断线程)
// rabbit.interrupt();
}
}
```
在这个例子中,兔子线程会先睡眠一段时间,然后继续跑步,而乌龟线程则是持续不断地爬行。通过`sleep()`函数,我们可以模拟它们的速度差异。如果需要中断兔子线程(比如让它中途放弃),可以在适当位置调用`interrupt()`方法。
阅读全文