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之多线程学习笔记五 —— 多线程模拟龟兔赛跑相关推荐

  1. java多线程学习笔记--一.多线程的基础知识

    需要学习的知识 多线程基础知识讲解 参考索隆和jim的视频,以及自己做的笔记 导读 为了充分利用CPU资源,人们发明了线程和进程 进程 由来:在单核cpu的时期,为了方便操作把一系列的操作的指令写下来 ...

  2. JAVA高并发学习笔记(二) 多线程基础

    1.1什么是线程 线程是进程(程序在计算机上的一次执行活动)内的执行单元 进程是以独立于其他进程的方式运行的,进程间是互相隔离的.一个进程无法直接访问另一个进程的数据.进程的资源诸如内存和CPU时间片 ...

  3. Java并发编程学习笔记(二)多线程的理解及多线程的优点

    多线程的优点 原文:http://tutorials.jenkov.com/java-concurrency/benefits.html 作者:Jakob Jenkov        翻译:古圣昌   ...

  4. 多线程学习笔记二 - 多线程与单例模式

    单例设计模式与多线程: 设计模式:对问题行之有效的解决方式.其实是一种思想. 单例设计模式: 解决的问题:可以保证一个类在内存中的对象唯一性. 比如对于多个程序使用同一个配置信息对象时,都需要保证对象 ...

  5. java线程集合点_Java多线程学习笔记(三) 甚欢篇

    使人有乍交之欢,不若使其无久处之厌 <小窗幽记>很多时候,我们需要的都不是再多一个线程,我们需要的线程是许多个,我们需要让他们配合.同时我们还有一个愿望就是复用线程,就是将线程当做一个工人 ...

  6. java多线程学习笔记。

    java多线程学习笔记 线程的优缺点: 多线程的好处: 充分利用多处理核心,提高资源的利用率和吞吐量. 提高接口的响应效率,异步系统工作. 线程的风险: 安全危险(竞争条件):什么坏事都没有发生.在没 ...

  7. java 多线程语法_Java基础语法之多线程学习笔记整理

    众所周知,利用好多线程机制,可以大大提高系统整体的并发能力以及性能,而且线程间的切换和调度的成本小.因此,多线程是Java学习者必须掌握的语法重点.本文为大家整理了进程和线程.实现多线程方式.设置和获 ...

  8. java 编程思想 多线程学习笔记

    java 编程思想 多线程学习笔记 一.如何创建多线程? 1.继承 java.lang.Thread 类 2.实现 java.lang.Runnable 接口 3.Callable接口 总之,在任何线 ...

  9. 多线程学习笔记20210121

    多线程学习笔记 线程简介 为什么要有线程 用一只手做事情显然是效率比较低的 ,两只手,再来一个人 合作去完成某一件事情显然就会效率高了. 就是在程序执行中 出现了 供需不平衡 了 为了使程序更快,更高 ...

最新文章

  1. Docker系列 六. Docker 安装 Redis
  2. 斯坦福CRFM遭业界炮轰:深度学习做不了基础模型!
  3. ipad html 自定义裁剪,canvas裁剪clip()函数的具体使用
  4. JPA_‘Basic‘ attribute type should not be a container怎么解决
  5. Blueprint CSS Framework 学习笔记
  6. pyplot 画多个图时搅合到了一起_聚镁Art0X丨马歇尔-他与他的黑人画
  7. SAP CRM服务订单状态和SAP S/4生产订单状态
  8. java 序列化 protobuf_java序列化机制之protobuf(快速高效跨语言)
  9. MAC安装MySQL的正确姿势
  10. 创业者:永远站着顾客这边
  11. Spring使用注解方式的学习笔记
  12. 智能优化算法:分类、特点和未来
  13. react + better-scroll 横向滚动案例
  14. 编程中如何不使用中间变量的情况下将两个变量的值进行交换
  15. U盘等无法弹出的解决办法
  16. linux 下配置可视化git 冲突合并工具kdiff3
  17. 艾美智能影库服务器ip,华语视听,家庭影院,发烧音响,智能家居,私人影院,声学装修,专业音箱-艾美影库 MS-300...
  18. 进程间的相互通讯 C++
  19. 重力加速度传感器角度输出
  20. 利用slf4j+log4j将日志写入指定的文件中

热门文章

  1. 计算机毕业设计ssm高校学生宿舍管理系统183rq系统+程序+源码+lw+远程部署
  2. QT(C++)DeviceIoControl()函数的相关使用
  3. 源码分享:基于SpringBoot的ERP系统,自带进销存+财务+生产功能
  4. Markdown键盘样式,文献引用
  5. 【混得好的都有这 5 种特质】优秀的年轻人都有这 5 大特质
  6. 京沪高铁沪宁城铁昆山南站效果图
  7. Android 开发被迫失业在家带娃,一个月后拿下百度Offer
  8. 免费顶级域名WordPress博客申请全攻略
  9. 3款Python 开源爬虫软件工具
  10. 捷讯fw300r虚拟服务器口号,迅捷FW300R无线路由器WDS无线桥接设置方法【详解】