博客
关于我
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权限
查看>>
mysql条件查询
查看>>
MySQL条件查询
查看>>
MySQL架构与SQL的执行流程_1
查看>>
MySQL架构与SQL的执行流程_2
查看>>
MySQL架构介绍
查看>>
MySQL架构优化
查看>>
mysql架构简介、及linux版的安装
查看>>
MySQL查看数据库相关信息
查看>>
MySQL查看表结构和表中数据
查看>>
MySQL查询优化:LIMIT 1避免全表扫描
查看>>
MySQL查询优化之索引
查看>>
mysql查询储存过程,函数,触发过程
查看>>
mysql查询总成绩的前3名学生信息
查看>>
mysql查询慢排查
查看>>
MySQL查询报错ERROR:No query specified
查看>>
mysql查询数据库储存数据的占用容量大小
查看>>
MySQL查询数据库所有表名及其注释
查看>>
MySQL查询数据表中数据记录(包括多表查询)
查看>>
MySQL查询结果排序
查看>>