java多线程龟兔赛跑runnable
时间: 2024-10-29 21:05:37 浏览: 7
在Java中,"龟兔赛跑"常常被用作多线程的一个经典例子,特别是通过实现`Runnable`接口。`Runnable`是一个接口,它定义了一个单独的运行线程的任务,而不需要直接继承自`Thread`类。当我们要创建一个新的线程来执行某个任务时,可以创建一个实现了`Runnable`接口的对象,并将这个对象作为参数传递给`Thread`类的构造函数,创建一个新的线程实例。
例如,兔子和乌龟分别代表两个`Runnable`对象,每个`Runnable`对象都有一个`run()`方法,里面包含了各自奔跑的逻辑。然后我们可以创建`Thread`对象,比如`Thread rabbitThread = new Thread(RabbitRunnable)`和`Thread turtleThread = new Thread(TurtleRunnable)`。启动这两个线程后,它们会并行地执行各自的`run()`方法,模拟比赛的过程。
```java
class RabbitRunnable implements Runnable {
@Override
public void run() {
// 兔子奔跑的代码
}
}
class TurtleRunnable implements Runnable {
@Override
public void run() {
// 乌龟爬行的代码
}
public static void main(String[] args) {
Thread rabbitThread = new Thread(new RabbitRunnable());
Thread turtleThread = new Thread(new TurtleRunnable());
rabbitThread.start();
turtleThread.start();
// 等待所有线程完成
try {
rabbitThread.join();
turtleThread.join();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
```
阅读全文