2多线程之龟兔赛跑案例
龟兔赛跑
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多线程之龟兔赛跑案例相关推荐
- JAVA多线程:龟兔赛跑
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.代码 前言 JAVA多线程:龟兔赛跑 提示:以下是本篇文章正文内容,下面案例可供参考 一.代码 ```java p ...
- java 龟兔赛跑_Java实现多线程模拟龟兔赛跑
Java多线程模拟龟兔赛跑,供大家参考,具体内容如下 笔者利用Java多线程技术,将兔子和乌龟的跑步以两个线程的方式模拟出来,以达到一个初步的效果. 题目如下:路程总距离为35米 兔子:每秒跑5米,每 ...
- java多线程实现龟兔赛跑
利用多线程模拟龟兔赛跑,乌龟一直跑,兔子跑十步停一下,任何一个跑完100步即获胜,比赛结束 思路:开启两个线程,一个兔子跑,一个乌龟跑,兔子的线程要设置一个条件,10步一停,然后就是结束条件,一个跑完 ...
- java多线程模拟龟兔赛跑,JAVA多线程模拟龟兔赛跑
JAVA多线程模拟龟兔赛跑! class Rabbit extends Thread{ Tortoise tor; int Journey; int RabbitSpeed; public Rabbi ...
- JAVA龟兔赛跑案例
龟兔赛跑案例,先实现Runnable接口,重写run()方法,判断条件胜利者,在让兔子线程睡眠一段时间,使得每次都是乌龟获胜. 附上代码:
- Java之多线程学习笔记五 —— 多线程模拟龟兔赛跑
Java之多线程学习笔记五 -- 多线程模拟龟兔赛跑 参考教程B站狂神https://www.bilibili.com/video/BV1V4411p7EF package pers.ylw.less ...
- 4、使用多线程完成龟兔赛跑
/** 1. 案例题目描述:编写龟兔赛跑多线程程序,设赛跑长度为30米乌龟和兔子每跑完10米输出一次结果.兔子的速度是10米每秒,兔子每跑完10米休眠的时间10秒 乌龟的速度是1米每秒,乌龟每跑完10 ...
- 基于Java多线程操作文件案例分享
场景描述:某文件夹下有很多文件和文件夹,要求读取出该文件夹下的所有文件,并将文本打印输出. 案例分析:假设该文件夹下有10个文件,那么我们将所有的文件遍历一遍打印输出就可以了.但如果有100个, 10 ...
- Java多线程之龟兔赛跑和抢票
一:引言 练习这个码主要是为了体验在实现 多线程的方式中 实现Runable接口的好处,其中之一 有共享资源 ,一个实现类但可以有多个代理 二:龟兔赛跑 package com.wyj.one; /* ...
最新文章
- 使用RabbitMQ做数据接收和处理时,自动关闭
- 图解 | 什么是缓存系统“三座大山”?
- 使用Powershell 的获取别的机器WMI类失败解决方法!
- JedisConnectionException: Failed connecting to host localhost:6379
- Ubuntu20.04、22.04安装nvidia显卡驱动
- 二路归并排序C++实现
- iserdese2接口详解_-02-Xilinx的SerDes接口介绍【Xilinx-LVDS读写功能实现】
- 计算机技术在生物学中的应用鲁东大学,项目学习在高中生物学教学中的应用研究...
- iOS音频采集技术解读:如何实现男女变声的音效?
- 解决ueditor上传图片报Nginx 502 bad gateway问题
- 我想把生活折腾成自己想要的样子
- 字符串和时间转换sql
- 3分钟理解zookeeper的watcher机制
- [电表窃电方法] 偷电方法-电表控制器
- flash位图技术研究篇(9):2D平面映射球体
- 宜人贷何林海:社交图谱在金融反欺诈产品的应用
- 求职小技巧,赢得大机会
- 美国的计算机科学本科哪个好,美国本科,专业排名和综合排名哪个更重要,比如说圣路易斯华盛顿大学、圣母大学的计算机科学专业和伊利诺伊大学、普渡大学的相比选择哪一个?谢谢!...
- cissp认证教程_认证信息系统安全专家(CISSP)简介
- 《道德经》(王弼本)