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