龟兔赛跑线程案例

龟兔赛跑线程案例
这个是初学线程的经典案例。
核心可以一句话概括,先实现runnable,重写run方法,再启动线程。

也可以选择继承Thread类,但建议使用runnable。但再继承Thread有很大的局限性。
(点开Thread可以发现它也是实现Runnable的,所以我感觉两者除了一个局限性并无太大区别)

继承只能继承一个,而实现能实现多个。这里就不详细说了,具体可以上网查查。

龟兔赛跑案例实现代码如下:

在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个简单的Java龟兔赛跑线程代码: ```java public class Race implements Runnable { private static String winner; // 胜利者 public void run() { for (int i = 1; i <= 100; i++) { // 模拟兔子睡觉 if(Thread.currentThread().getName().equals("兔子") && i%10==0){ try { Thread.sleep(10); } catch (InterruptedException e) { e.printStackTrace(); } } System.out.println(Thread.currentThread().getName() + "跑了" + i + "步"); // 判断比赛是否结束 if (isOver(i)) { break; } } } private boolean isOver(int steps) { if (winner != null) { // 已经有胜利者 return true; } if (steps == 100) { // 跑到终点 winner = Thread.currentThread().getName(); System.out.println("胜利者是" + winner); return true; } return false; } public static void main(String[] args) { Race race = new Race(); new Thread(race, "兔子").start(); new Thread(race, "乌龟").start(); } } ``` 在这个例子中,我们创建了一个 `Race` 类,实现了 `Runnable` 接口。在 `run` 方法中,每个线程都会循环100次,模拟每个线程跑100步的过程,每跑一步就输出当前线程的名字和步数。在每次循环之后,都会调用 `isOver` 方法来判断比赛是否结束。如果比赛已经结束,就会设置胜利者的名称并输出结果,然后跳出循环。 在 `main` 方法中,我们创建了两个线程,分别代表兔子和乌龟,然后启动它们。当其中一个线程跑完100步,或者另一个线程已经胜利时,比赛就会结束。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值