博客
关于我
java多线程(5)——龟兔赛跑程序
阅读量:333 次
发布时间:2019-03-04

本文共 1150 字,大约阅读时间需要 3 分钟。

新创一个类

public class Race implements Runnable {       private static String winner;    @Override    public void run() {           for (int i = 1; i <= 100; i++) {           	//兔子跑十步睡一下            if (Thread.currentThread().getName().equals("兔子") && i % 10 == 0) {                   try {                       Thread.sleep(10);                } catch (InterruptedException e) {                       e.printStackTrace();                }            }            //已经产生胜利者就退出程序            if (gameOver(i)){                   break;            }            System.out.println(Thread.currentThread().getName()+"-->跑了"+i+"步");        }    }    //判断是否完成比赛    private boolean gameOver(int steps){           //判断是否有胜利者        if (winner != null){   //已经存在胜利者了,则返回true            return true;        }        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();    }

运行结果

在这里插入图片描述

在这里插入图片描述

转载地址:http://nieq.baihongyu.com/

你可能感兴趣的文章
Mysql 分页语句 Limit原理
查看>>
MySQL 创建新用户及授予权限的完整流程
查看>>
mysql 创建表,不能包含关键字values 以及 表id自增问题
查看>>
mysql 删除日志文件详解
查看>>
mysql 判断表字段是否存在,然后修改
查看>>
mysql 协议的退出命令包及解析
查看>>
mysql 取表中分组之后最新一条数据 分组最新数据 分组取最新数据 分组数据 获取每个分类的最新数据
查看>>
mysql 多个表关联查询查询时间长的问题
查看>>
mySQL 多个表求多个count
查看>>
mysql 多字段删除重复数据,保留最小id数据
查看>>
MySQL 多表联合查询:UNION 和 JOIN 分析
查看>>
MySQL 大数据量快速插入方法和语句优化
查看>>
mysql 如何给SQL添加索引
查看>>
mysql 字段区分大小写
查看>>
mysql 字段合并问题(group_concat)
查看>>
mysql 字段类型类型
查看>>
MySQL 字符串截取函数,字段截取,字符串截取
查看>>
MySQL 存储引擎
查看>>
mysql 存储过程 注入_mysql 视图 事务 存储过程 SQL注入
查看>>
MySQL 存储过程参数:in、out、inout
查看>>