多线程之龟兔赛跑 public class Race implements Runnable { //胜利者 private static String winner; //跑步 @Override public void run() { for (int i = 0; i <= 100; i++) { if (Thread.currentThread().getName().equals("兔子") && i == 50) { try { Thread.sleep(10); } catch (InterruptedException e) { e.printStackTrace(); } } boolean flag = panduan(i); if (flag) { break; } else { System.out.println(Thread.currentThread().getName() + "跑了" + i + "步"); } } } //判断是否完成了比赛 public Boolean panduan(int bu) { if (winner != null) { return true; } if (bu == 100) { winner = Thread.currentThread().getName(); System.out.println("winner is " + winner); return true; } else { return false; } } public static void main(String[] args) { Race race = new Race(); new Thread(race, "兔子").start(); new Thread(race, "乌龟").start(); } }