这篇文章主要是利用龟兔赛跑游戏来加深理解多线程的概念,代码利用java语言实现.

文中代码将main主线程,兔子线程,乌龟线程放在了同一个java文件中.

代码参考如下:

package com.jerry.TestThread;public  class Game implements Runnable{//设置一个胜利者private static String winner;//重写Runnable中的Run方法@Overridepublic void run() {//设置step步数,循环模拟兔子/乌龟跑步,首先跑到100为胜利者for (int step = 0; step <= 100;step++) {//为了符合故事,让兔子中途睡觉(每10步兔子睡1ms)if (Thread.currentThread().getName().equals("兔子") && step % 10 == 0){try {Thread.sleep(1);} catch (InterruptedException e) {e.printStackTrace();}}//是否具有游戏结束的条件boolean flag  = gameOver(step);if (flag){//存在胜利者则退出循环break;}//否则打印兔子/乌龟已跑路程System.out.println(Thread.currentThread().getName() + "跑了" + step + "步.");}}//这是判断游戏是否结束的方法(是否已经存在胜利者)private boolean gameOver(int step) {//如果已经有了胜利者,则返回trueif (winner != null){return true;}//乌龟/兔子中某一个到达终点,将其设为胜利者,返回trueif (step >= 100){winner = Thread.currentThread().getName();System.out.println(winner + "胜利");return true;}//暂时胜负未出,继续比赛,返回falsereturn false;}//主方法,public static void main(String[] args) {//创建一个Game对象Game game = new Game();//创建乌龟和兔子线程,共同使用game资源new Thread(game,"兔子").start();new Thread(game,"乌龟").start();}
}

加油!

Java多线程之龟兔赛跑游戏相关推荐

  1. JAVA多线程:龟兔赛跑

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

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

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

  3. Java多线程之赛跑游戏(含生成exe文件)

    Java多线程之赛跑游戏(含生成exe文件) 在JavaSE中,多线程是一个重要的内容. 我们要了解多线程的概念,就要先了解进程的概念:要了解进程的概念,就离不开操作系统的概念. 在一台正常运行的电脑 ...

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

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

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

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

  6. java多线程模拟龟兔赛跑

    让乌龟和兔子在同一个赛道从1开始跑到100,看看谁更快. 1 public class Racer implements Runnable{ 2 private static String winne ...

  7. 多线程模拟龟兔赛跑游戏

    package com.zzx.线程.Runnable;import com.sun.org.apache.xerces.internal.impl.xpath.XPath; import com.z ...

  8. java多线程围棋小游戏代码,java小游戏源代码(java开发的50个小游戏)

    <扫雷>是一款大家类的益智类游戏,游戏训练目标是在最少的時间内依据点一下方格出現的数据找到全部非雷方格,另外防止爆雷,碰到一个雷即满盘皆输. 经典推箱子,目地是在训炼你的逻辑性思索工作能力 ...

  9. java多线程练习--龟兔赛跑程序

    题目: 龟兔赛跑程序,设赛跑长度为30米 兔子的速度 10米每秒, 兔子每跑完10米休眠10秒 乌龟的速度 1米每秒, 乌龟每跑完10米休眠1秒 要求:等兔子和乌龟的线程结束时,公布结果 提示:使用S ...

最新文章

  1. vue component created没有触发_Vue的难点解析
  2. 数学建模记录(如何组织,如何参加)(一)
  3. html获取cookie_知了汇智《XSS攻击-盗取cookie实战》课程文档讲解
  4. 高性能javascript 文件加载阻塞
  5. 4)公有成员\私有成员和静态成员
  6. java与java ee_Java EE6装饰器:在注入时装饰类
  7. php 变量 换行,php去除换行符的方法小结(PHP_EOL变量的使用)_PHP教程
  8. java面向对象编程的三大基本特性--封装,继承,多态
  9. 四路智能抢答器电子系统综合设计
  10. 利用lightgbm做learning to rank 排序,解析模型中特征重要度
  11. flash开发android应用程序,利用Flash Professional CS5.5开发Android应用
  12. java调用打印机没反应_java代码调用打印机没反应
  13. EditPlus常用技巧
  14. 今日头条小程序是什么
  15. vue怎么制作甘特图——dhtmlx-gantt
  16. 【HAL库系列】0.STM32CubeIDE介绍
  17. 码支付系统 无授权—个人免签约支付系统二维码收款即时到账源码 –
  18. doxygen简单介绍
  19. 模式Singleton
  20. 浙江省杭州职称评审申报时间

热门文章

  1. 五十步笑百步翻译软件测试,文言文五十步笑百步原文翻译
  2. Teamcenter软件盗版
  3. 评日报文章:关于华为裁员
  4. AMD显卡催化剂13.3 Beta 3对Linux用户可用
  5. apache项目地址_李孟_新浪博客
  6. 音视频编解码:MP4封装格式笔记
  7. 如何做好线上问题分析
  8. 北风:睡后收入有哪些行业?如何打造睡后收入
  9. oracle rac v3500_Oracle 11g RAC 二节点root.sh执行报错故障一例
  10. 最优化方法:五、无约束最优化方法