使用Torist(),和Rabbit()实现Java龟兔赛跑线程代码
时间: 2024-03-01 16:55:49 浏览: 17
以下是使用Tortoise()和Rabbit()实现Java龟兔赛跑线程代码的例子:
```
class Race {
public static void main(String[] args) {
Tortoise tortoise = new Tortoise();
Rabbit rabbit = new Rabbit();
Thread tortoiseThread = new Thread(tortoise);
Thread rabbitThread = new Thread(rabbit);
tortoiseThread.start();
rabbitThread.start();
}
}
class Tortoise implements Runnable {
public void run() {
for (int i = 0; i <= 100; i++) {
System.out.println("乌龟跑了" + i + "步");
if (i == 100) {
System.out.println("乌龟赢了!");
}
}
}
}
class Rabbit implements Runnable {
public void run() {
for (int i = 0; i <= 100; i++) {
System.out.println("兔子跑了" + i + "步");
if (i == 50) {
try {
System.out.println("兔子睡觉中ZZZ...");
Thread.sleep(5000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
if (i == 100) {
System.out.println("兔子赢了!");
}
}
}
}
```
在这个例子中,我们同样创建了一个`Race`类,它包含了一个`main()`方法来启动两个线程:`Tortoise`和`Rabbit`。这两个类都实现了`Runnable`接口,并实现了`run()`方法来模拟赛跑的过程。
在`Tortoise`的`run()`方法中,我们同样使用一个循环来模拟乌龟的赛跑过程。每次循环,乌龟都会向前走一步,并输出它走了多少步。当乌龟走了100步时,我们输出一条消息来宣布乌龟赢了。
在`Rabbit`的`run()`方法中,我们同样使用一个循环来模拟兔子的赛跑过程。每次循环,兔子都会向前走一步,并输出它走了多少步。当兔子走了50步时,我们让它睡觉5秒钟。当兔子走了100步时,我们输出一条消息来宣布兔子赢了。
然后我们创建了两个线程:`tortoiseThread`和`rabbitThread`,它们分别使用`Tortoise`和`Rabbit`类的实例进行初始化。然后我们使用`start()`方法来启动这两个线程,使它们开始赛跑。
这个例子演示了如何使用`Runnable`接口来定义线程,并将其与`Thread`类一起使用来创建多线程。