Java之多线程学习笔记五 —— 多线程模拟龟兔赛跑
Java之多线程学习笔记五 —— 多线程模拟龟兔赛跑
参考教程B站狂神https://www.bilibili.com/video/BV1V4411p7EF
package pers.ylw.lesson01;//模拟龟兔赛跑
public class Race implements Runnable{//胜利者private static String winner;@Overridepublic void run() {for (int i = 1; i <= 100; i++) {//模拟兔子休息,每10步休息一次if (Thread.currentThread().getName().equals("兔子") && i%10==0 ){try {Thread.sleep(20);} 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;}else {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();}}
Java之多线程学习笔记五 —— 多线程模拟龟兔赛跑相关推荐
- java多线程学习笔记--一.多线程的基础知识
需要学习的知识 多线程基础知识讲解 参考索隆和jim的视频,以及自己做的笔记 导读 为了充分利用CPU资源,人们发明了线程和进程 进程 由来:在单核cpu的时期,为了方便操作把一系列的操作的指令写下来 ...
- JAVA高并发学习笔记(二) 多线程基础
1.1什么是线程 线程是进程(程序在计算机上的一次执行活动)内的执行单元 进程是以独立于其他进程的方式运行的,进程间是互相隔离的.一个进程无法直接访问另一个进程的数据.进程的资源诸如内存和CPU时间片 ...
- Java并发编程学习笔记(二)多线程的理解及多线程的优点
多线程的优点 原文:http://tutorials.jenkov.com/java-concurrency/benefits.html 作者:Jakob Jenkov 翻译:古圣昌 ...
- 多线程学习笔记二 - 多线程与单例模式
单例设计模式与多线程: 设计模式:对问题行之有效的解决方式.其实是一种思想. 单例设计模式: 解决的问题:可以保证一个类在内存中的对象唯一性. 比如对于多个程序使用同一个配置信息对象时,都需要保证对象 ...
- java线程集合点_Java多线程学习笔记(三) 甚欢篇
使人有乍交之欢,不若使其无久处之厌 <小窗幽记>很多时候,我们需要的都不是再多一个线程,我们需要的线程是许多个,我们需要让他们配合.同时我们还有一个愿望就是复用线程,就是将线程当做一个工人 ...
- java多线程学习笔记。
java多线程学习笔记 线程的优缺点: 多线程的好处: 充分利用多处理核心,提高资源的利用率和吞吐量. 提高接口的响应效率,异步系统工作. 线程的风险: 安全危险(竞争条件):什么坏事都没有发生.在没 ...
- java 多线程语法_Java基础语法之多线程学习笔记整理
众所周知,利用好多线程机制,可以大大提高系统整体的并发能力以及性能,而且线程间的切换和调度的成本小.因此,多线程是Java学习者必须掌握的语法重点.本文为大家整理了进程和线程.实现多线程方式.设置和获 ...
- java 编程思想 多线程学习笔记
java 编程思想 多线程学习笔记 一.如何创建多线程? 1.继承 java.lang.Thread 类 2.实现 java.lang.Runnable 接口 3.Callable接口 总之,在任何线 ...
- 多线程学习笔记20210121
多线程学习笔记 线程简介 为什么要有线程 用一只手做事情显然是效率比较低的 ,两只手,再来一个人 合作去完成某一件事情显然就会效率高了. 就是在程序执行中 出现了 供需不平衡 了 为了使程序更快,更高 ...
最新文章
- Docker系列 六. Docker 安装 Redis
- 斯坦福CRFM遭业界炮轰:深度学习做不了基础模型!
- ipad html 自定义裁剪,canvas裁剪clip()函数的具体使用
- JPA_‘Basic‘ attribute type should not be a container怎么解决
- Blueprint CSS Framework 学习笔记
- pyplot 画多个图时搅合到了一起_聚镁Art0X丨马歇尔-他与他的黑人画
- SAP CRM服务订单状态和SAP S/4生产订单状态
- java 序列化 protobuf_java序列化机制之protobuf(快速高效跨语言)
- MAC安装MySQL的正确姿势
- 创业者:永远站着顾客这边
- Spring使用注解方式的学习笔记
- 智能优化算法:分类、特点和未来
- react + better-scroll 横向滚动案例
- 编程中如何不使用中间变量的情况下将两个变量的值进行交换
- U盘等无法弹出的解决办法
- linux 下配置可视化git 冲突合并工具kdiff3
- 艾美智能影库服务器ip,华语视听,家庭影院,发烧音响,智能家居,私人影院,声学装修,专业音箱-艾美影库 MS-300...
- 进程间的相互通讯 C++
- 重力加速度传感器角度输出
- 利用slf4j+log4j将日志写入指定的文件中
热门文章
- 计算机毕业设计ssm高校学生宿舍管理系统183rq系统+程序+源码+lw+远程部署
- QT(C++)DeviceIoControl()函数的相关使用
- 源码分享:基于SpringBoot的ERP系统,自带进销存+财务+生产功能
- Markdown键盘样式,文献引用
- 【混得好的都有这 5 种特质】优秀的年轻人都有这 5 大特质
- 京沪高铁沪宁城铁昆山南站效果图
- Android 开发被迫失业在家带娃,一个月后拿下百度Offer
- 免费顶级域名WordPress博客申请全攻略
- 3款Python 开源爬虫软件工具
- 捷讯fw300r虚拟服务器口号,迅捷FW300R无线路由器WDS无线桥接设置方法【详解】