> 文档中心 > Java 线程(龟兔赛跑)

Java 线程(龟兔赛跑)


Java线程(龟兔赛跑)

上代码:

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%10==0  ){  try {      Thread.sleep(1);  } catch (InterruptedException e) {      e.printStackTrace();  }     }     //判断比赛是否结束     boolean flag = gameOver(i);     if (flag){  break;     }     System.out.println(Thread.currentThread().getName()+"--> 跑了"+i); }    }    //判断是否完成比赛    private boolean gameOver(int step){//如果存在胜利者 if (winner!=null){     return true; }else {     if (step>=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 线程(龟兔赛跑)
Java 线程(龟兔赛跑)