JAVA多线程:龟兔赛跑
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
- 前言
- 一、代码
前言
JAVA多线程:龟兔赛跑
提示:以下是本篇文章正文内容,下面案例可供参考
一、代码
```java
public class Race implements java.lang.Runnable {static String winner=null;@Overridepublic void run() {for (int i = 0; i <=100; i++) {if(gameOver(i)) {break;}if(Thread.currentThread().getName().equals("兔子")&&i%10==0) {try {Thread.sleep(1);} catch (InterruptedException e) {throw new RuntimeException(e);}}System.out.println(Thread.currentThread().getName()+"跑了第"+i+"步");}}private boolean gameOver(int step){if(winner!=null) {return true;}else{if (step >= 100){winner = Thread.currentThread().getName();System.out.println("Winner is " + winner);return true;}elsereturn false;}}public static void main(String[] args) {Race race =new Race();new Thread(race,"兔子").start();new Thread(race,"乌龟").start();}
}
# 总结
运用Runnable启动线程,执行龟兔赛跑程序
1.两个进程同时开始跑,距离终点越来越近(100)。
2.判断是否比赛结束(有一方到达终点)。
3.决出胜利者(到达终点的一方)。
4.兔子线程在中途需要休息
JAVA多线程:龟兔赛跑相关推荐
- java写龟兔赛跑_简单的实现java多线程——龟兔赛跑
题目: 实现龟兔赛跑 提示:可以采用Math.random()取得0~1之间的随机数模拟比赛进程, 如总距离为100米,在随机数00.3之间代表兔子跑,每次跑2米,在0.31之间代表乌龟跑,每次跑1 ...
- java多线程模拟龟兔赛跑,JAVA多线程模拟龟兔赛跑
JAVA多线程模拟龟兔赛跑! class Rabbit extends Thread{ Tortoise tor; int Journey; int RabbitSpeed; public Rabbi ...
- Java多线程_复习(更新中!!)
java多线程的常见例子 一.相关知识: Java多线程程序设计到的知识: (一)对同一个数量进行操作 (二)对同一个对象进行操作 (三)回调方法使用 (四)线程同步,死锁问题 (五)线程通信 等等 ...
- Java多线程学习——01
Java多线程学习--01 1.核心概念 程序:是指令和数据的有序集合,其本身没有任何运行的含义,是一个静态的概念 进程Process:是执行程序的一次执行过程,它是一个动态的概念,是系统资源分配的单 ...
- 【Java多线程】轻松搞定Java多线程(一)
轻松搞定Java多线程(一) Java多线程详解(一) 1. 线程简介 2.线程的创建 2.1 三种创建方式 2.2 Thread 2.3 实现Runnable 2.3.1 初识并发问题 2.3.2 ...
- Java多线程(总)
Java多线程 Process进程与Thread线程 程序是指令和数据的有序集合,其本身没有任何运行的含义,是一个静态的概念 进程是执行程序的一次执行过程,它是一个动态的概念.是系统资源分配的单位 同 ...
- java多线程全面解析
文章目录 java多线程 1.线程简介 2.线程实现(三种) 继承Thread类(重点) 步骤: 示例代码: 多线程下载图片: 实现Runnable接口(重点) 步骤: 基础代码: 体现Runnabl ...
- JavaSE基础二十:Java 多线程(线程基础知识、Java 多线程、Java 实现多线程(继承 Thread 类、实现 Runnable 接口、实现 Callable 接口))
本章目录 1.基础知识准备 2.Java 多线程概述 3.Java 实现多线程 3.1.继承 Thread 类 如何开启新线程 Thread 类常用方法 多线程中的同步 Thread 类同步方法 多线 ...
- Java多线程(四)线程并发的理解
前言 并发,在操作系统中,是指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理机上运行,但任一个时刻点上只有一个程序在处理机上运行. ----以上摘自百度百科 一.龟 ...
最新文章
- jenkins ssl证书报错问题解决
- 安装JAVA 运行环境
- Windows7 支付宝证书安装方法
- Flume:使用Apache Flume收集客户产品搜索点击数据
- python requests cookie_python requests 带cookie访问页面
- 三个等于号===和两个等于号==的区别
- 用python开发一个影视网站_GitHub - lyzhanghai/movie_project: 一个使用Python+Flask开发的微电影网站...
- TIA 和step 7硬件更新网址汇总
- cocos2dx 组件
- 凯立德2015夏季3621J0P4G卡版分区地图
- 计算机程序无法响应如何解决,电脑卡死出现应用程序未响应不可以正常工作怎么办?...
- 【学术相关】过来人对研究生阶段的学习建议
- Mindjet MindManager 2019安装包
- 传统C/S软件的断骨增高
- ipad已有2周未备份。ipad插入电源、被锁定且接入Wi-Fi时会进行备份
- java获取一定距离以内的经纬度值_java 根据经纬度计算两地间的距离
- ftp最好用的工具,6款最好用的ftp工具软件推荐,使用指南
- java计算机毕业设计甜趣网上蛋糕店订购系统源码+系统+数据库+lw文档+mybatis+运行部署
- 计算机科学引论2013中文版,(完整版)计算机科学引论(2013影印版)考试重点
- hystrix设置超时时间
热门文章
- python 柱状图如何添加数字标签_matplotlib可视化之如何给图形添加数据标签?
- 合伙的债务应如何承担
- 超级抠图:Super PhotoCut for Mac
- Splunk健康检查orphaned searches
- win 11 微软 输入法 提示框 提示栏 消失 不见 不显示 找回 显示 可行性 解决方案
- 长期有效的Google Adsense英文高单价关键词
- 第二章 查询结果排序(SQL server经典实例)
- 瘟疫公司中国版(Android)手动破解内购
- 1010. Pairs of Songs With Total Durations Divisible by 60*
- python中按钮位置设定_tkinter Python中的按钮位置(网格)