java多线程(5)——龟兔赛跑程序
发布日期:2021-05-07 02:53:00 浏览次数:30 分类:精选文章

本文共 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();    }

运行结果

在这里插入图片描述

在这里插入图片描述

上一篇:java线程(6)——创建的三种方式3.实现Callable接口
下一篇:java线程(4)——使用多个线程操作同一个对象(买票的例子)

发表评论

最新留言

网站不错 人气很旺了 加油
[***.192.178.218]2025年04月27日 07时55分33秒