Java多線程(四): 龜兔賽跑案例


  1. 首先來個賽道距離, 然后要離終點越來越近
  2. 判斷比賽是否結束
  3. 打印出勝利者
  4. 龜兔賽跑開始
  5. 故事中是烏龜贏的, 兔子需要睡覺, 所以我們來模擬兔子睡覺
  6. 終於, 烏龜贏得比賽
package com.shu.thread;

public class Race implements Runnable {
    public static boolean isGameOver = false;

    @Override
    public void run() {
        String name = Thread.currentThread().getName();
        for (int i = 0; i < 100; i++) {

            if (!isGameOver) {
                System.out.println(name + " has run " + i + " steps.");
            }else {
                break;
            }

            if(i == 30 && name == "Rabbit"){
                try {
                    Thread.sleep(10);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }

            if (i == 99) {
                isGameOver = true;
                System.out.println(name + " wins!");
            }
        }


    }


    public static void main(String[] args) {
        new Thread(new Race(), "Rabbit").start();
        new Thread(new Race(), "Turtle").start();
    }
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM