一段模拟龟兔赛跑的多线程代码

Java代码

/** * 一段模拟龟兔赛跑的多线程程序。 * 兔子比乌龟快5倍,但休息的 时间长10倍。 * * @ *  */public class T {  public static void main(String[] args) {     TortoiseRace a = new TortoiseRace();    Thread runner1 = new Thread (a);    RabbitRace b = new RabbitRace();    Thread runner2 = new  Thread(b);    runner1.start();    runner2.start();    while (ready  < 2) {      try {        Thread.sleep(1);      }  catch (InterruptedException e) {        e.printStackTrace();       }    }    synchronized (lock) {      lock.notifyAll();     }  }  static Object lock = new Object();  static int ready  = 0;}class TortoiseRace implements Runnable {  public void run()  {    synchronized (T.lock) {      T.ready++;      try {        T.lock.wait();      } catch (InterruptedException e1) {         e1.printStackTrace();      }    }    int  TortoiseDistance = 0;    for (int i = 0; TortoiseDistance <= 1000; i++)  {      TortoiseDistance++;      System.out.println("乌龟跑了1 米!");      try {        Thread.sleep(1);      } catch  (InterruptedException e) {      }    }    System.out.println("乌 龟已经跑完了比赛路程!");  }}class RabbitRace implements Runnable  {  public void run() {    T.ready++;    synchronized (T.lock)  {      try {        T.lock.wait();      } catch  (InterruptedException e1) {        e1.printStackTrace();      }    }    int RabbitDistance = 0;    for (int j = 0;  RabbitDistance <= 1000; j++) {      RabbitDistance += 5;       System.out.println("兔子跑了5米!");      try {        Thread.sleep (10);      } catch (InterruptedException e) {      }    }     System.out.println("兔子跑完了比赛路程!");  }}

这一生我只牵你的手,因为今生有你早已足够。

一段模拟龟兔赛跑的多线程代码

相关文章:

你感兴趣的文章:

标签云: