zoukankan      html  css  js  c++  java
  • 多线程案例龟兔赛跑

    1)首先来个赛道距离,然后要离终点越来越近

    2)判断比赛是否结束

    3)打印出胜利者

    4)龟兔赛跑开始

    5)故事中是乌龟赢,兔子需要睡觉,所有我们来模拟兔子睡觉

    6)终于,乌龟赢了比赛。

     1 public class Race implements Runnable {
     2 
     3     // 胜利者,,因为只有一个,所以写成static的
     4     private static String winner;
     5     @Override
     6     public void run() {
     7 
     8         for (int i = 0; i <= 100  ;  i++) {
     9             if(Thread.currentThread().getName().equals("兔子")) {
    10                 try {
    11                     Thread.sleep(10);
    12                 } catch (InterruptedException e) {
    13                     e.printStackTrace();
    14                 }
    15             }
    16             // 判断比赛是否结束
    17             boolean flag = gameOver(i);
    18             // 如果比赛结束,就停止程序
    19             if (flag) {
    20                 break;
    21             }
    22             System.out.println( Thread.currentThread().getName() + "走了" + i + "步");
    23         }
    24 
    25     }
    26 
    27     // 判断是否完成比赛
    28     private boolean gameOver (int steps) {
    29         // 判断是否有胜利者
    30         if (winner != null) { // 已经存在胜利者
    31             return true;
    32         } else {
    33             if (steps >= 100) {
    34                 winner = Thread.currentThread().getName();
    35                 System.out.println("winner is " + winner);
    36                 return true;
    37             }
    38         }
    39         return  false;
    40     }
    41 
    42     public static void main(String[] args) {
    43         Race race = new Race();
    44         new Thread(race,"乌龟").start(); // 乌龟跑起来
    45         new Thread(race,"兔子").start(); // 兔子跑起来
    46 
    47     }
    48 
    49 
    50 }
  • 相关阅读:
    初窥语义搜索
    爬取菜谱网站
    paramiko简介
    软件项目结构规范
    paramiko 远程执行多个命令
    python 中in 的 用法
    spring依赖(部分)
    ModelAndView的部分回顾
    SringMVC 国际化
    spring事物配置,声明式事务管理和基于@Transactional注解的使用
  • 原文地址:https://www.cnblogs.com/YXBLOGXYY/p/14611441.html
Copyright © 2011-2022 走看看