龟兔赛跑

1.首先来个赛道距离,然后距离终点越来越近(for循环实现)

2.判断比赛是否结束

3.打印出胜利者

4.龟兔赛跑开始

5.故事中乌龟胜利,兔子需要睡觉,所以需要模拟兔子睡觉

6.乌龟赢得比赛

模拟兔子睡觉:当线程名字为兔子的时候并且规定兔子每跑10米都会休息,即调用Thread.sleep()方法

for循环模拟跑步距离越来越长,通过判断是否结束比赛来确定程序是否继续执行

//模拟龟兔赛跑
public class Race implements Runnable{//胜利者private static String winner;@Overridepublic void run() {for (int i = 0; i <=100; i++) {//模拟兔子睡觉if (Thread.currentThread().getName().equals("兔子")&&i%10==0){try {Thread.sleep(1);} catch (InterruptedException e) {e.printStackTrace();}}//判断比赛是否结束boolean flag = gameOver(i);//如果比赛结束了,就停止程序if (flag){break;}System.out.println(Thread.currentThread().getName()+"跑了"+i+"米");}}//判断是否完成比赛private boolean gameOver(int steps){//判断是否有胜利者if (winner!=null){//已经存在胜利者了return true;}if (steps>=100){winner = Thread.currentThread().getName();System.out.println("winner is"+winner);return true;}return false;}public static void main(String[] args) {Race race = new Race();new Thread(race,"兔子").start();new Thread(race,"乌龟").start();}
}

2多线程之龟兔赛跑案例相关推荐

  1. JAVA多线程:龟兔赛跑

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.代码 前言 JAVA多线程:龟兔赛跑 提示:以下是本篇文章正文内容,下面案例可供参考 一.代码 ```java p ...

  2. java 龟兔赛跑_Java实现多线程模拟龟兔赛跑

    Java多线程模拟龟兔赛跑,供大家参考,具体内容如下 笔者利用Java多线程技术,将兔子和乌龟的跑步以两个线程的方式模拟出来,以达到一个初步的效果. 题目如下:路程总距离为35米 兔子:每秒跑5米,每 ...

  3. java多线程实现龟兔赛跑

    利用多线程模拟龟兔赛跑,乌龟一直跑,兔子跑十步停一下,任何一个跑完100步即获胜,比赛结束 思路:开启两个线程,一个兔子跑,一个乌龟跑,兔子的线程要设置一个条件,10步一停,然后就是结束条件,一个跑完 ...

  4. java多线程模拟龟兔赛跑,JAVA多线程模拟龟兔赛跑

    JAVA多线程模拟龟兔赛跑! class Rabbit extends Thread{ Tortoise tor; int Journey; int RabbitSpeed; public Rabbi ...

  5. JAVA龟兔赛跑案例

    龟兔赛跑案例,先实现Runnable接口,重写run()方法,判断条件胜利者,在让兔子线程睡眠一段时间,使得每次都是乌龟获胜. 附上代码:

  6. Java之多线程学习笔记五 —— 多线程模拟龟兔赛跑

    Java之多线程学习笔记五 -- 多线程模拟龟兔赛跑 参考教程B站狂神https://www.bilibili.com/video/BV1V4411p7EF package pers.ylw.less ...

  7. 4、使用多线程完成龟兔赛跑

    /** 1. 案例题目描述:编写龟兔赛跑多线程程序,设赛跑长度为30米乌龟和兔子每跑完10米输出一次结果.兔子的速度是10米每秒,兔子每跑完10米休眠的时间10秒 乌龟的速度是1米每秒,乌龟每跑完10 ...

  8. 基于Java多线程操作文件案例分享

    场景描述:某文件夹下有很多文件和文件夹,要求读取出该文件夹下的所有文件,并将文本打印输出. 案例分析:假设该文件夹下有10个文件,那么我们将所有的文件遍历一遍打印输出就可以了.但如果有100个, 10 ...

  9. Java多线程之龟兔赛跑和抢票

    一:引言 练习这个码主要是为了体验在实现 多线程的方式中 实现Runable接口的好处,其中之一 有共享资源 ,一个实现类但可以有多个代理 二:龟兔赛跑 package com.wyj.one; /* ...

最新文章

  1. 使用RabbitMQ做数据接收和处理时,自动关闭
  2. 图解 | 什么是缓存系统“三座大山”?
  3. 使用Powershell 的获取别的机器WMI类失败解决方法!
  4. JedisConnectionException: Failed connecting to host localhost:6379
  5. Ubuntu20.04、22.04安装nvidia显卡驱动
  6. 二路归并排序C++实现
  7. iserdese2接口详解_-02-Xilinx的SerDes接口介绍【Xilinx-LVDS读写功能实现】
  8. 计算机技术在生物学中的应用鲁东大学,项目学习在高中生物学教学中的应用研究...
  9. iOS音频采集技术解读:如何实现男女变声的音效?
  10. 解决ueditor上传图片报Nginx 502 bad gateway问题
  11. 我想把生活折腾成自己想要的样子
  12. 字符串和时间转换sql
  13. 3分钟理解zookeeper的watcher机制
  14. [电表窃电方法] 偷电方法-电表控制器
  15. flash位图技术研究篇(9):2D平面映射球体
  16. 宜人贷何林海:社交图谱在金融反欺诈产品的应用
  17. 求职小技巧,赢得大机会
  18. 美国的计算机科学本科哪个好,美国本科,专业排名和综合排名哪个更重要,比如说圣路易斯华盛顿大学、圣母大学的计算机科学专业和伊利诺伊大学、普渡大学的相比选择哪一个?谢谢!...
  19. cissp认证教程_认证信息系统安全专家(CISSP)简介
  20. 《道德经》(王弼本)

热门文章

  1. WordCount编程及执行流程
  2. C#之汉诺塔的移动步骤显示算法
  3. 什么样的 GitHub 才适合放简历上?
  4. 深入探索C语言struct的用法
  5. 游戏编程十年总结(上)(转)
  6. ushort mysql,Mysql的CodeFirst:不支持ushort、uint、ulong的字段提示不足
  7. 了解Amazon google、IBM、microsoft云计算主要平台及特点
  8. 必备 免费人物虚幻模型素材网站
  9. QRCode使用(生成二维码)
  10. R6030- CRT not initialized