Java多线程 模拟龟兔赛跑

Java多线程 模拟龟兔赛跑Java多线程 模拟龟兔赛跑_第1张图片

 

Java多线程 模拟龟兔赛跑_第2张图片

//模拟龟兔赛跑
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("兔子")){
                try {
                    Thread.sleep(200);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
//            判断 比赛是否结束
            boolean flag= gameOver(i);
//            如果比赛结束就停止程序
            if(flag){
                break;
            }
            System.out.println(Thread.currentThread().getName() + "------>跑了" + i + "步");
        }
    }

    //判断是否完成比赛
    private boolean gameOver(int steps) {
        //判断是否又胜利者
        if (winner != null) {
//            已经有胜利者
            return true;
        } else 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();
    }
}

Java多线程 模拟龟兔赛跑_第3张图片

 

Java多线程 模拟龟兔赛跑_第4张图片

兔子------>跑了0步
***********************乌龟------>跑了0步
***********************乌龟------>跑了1步
***********************乌龟------>跑了2步
***********************乌龟------>跑了3步
***********************乌龟------>跑了4步
***********************乌龟------>跑了5步
***********************乌龟------>跑了6步
***********************乌龟------>跑了7步
***********************乌龟------>跑了8步
***********************乌龟------>跑了9步
***********************乌龟------>跑了10步
兔子------>跑了1步
兔子------>跑了2步
兔子------>跑了3步
兔子------>跑了4步
兔子------>跑了5步
兔子------>跑了6步
兔子------>跑了7步
***********************乌龟------>跑了11步
***********************乌龟------>跑了12步
***********************乌龟------>跑了13步
***********************乌龟------>跑了14步
***********************乌龟------>跑了15步
***********************乌龟------>跑了16步
***********************乌龟------>跑了17步
兔子------>跑了8步
***********************乌龟------>跑了18步
兔子------>跑了9步
兔子------>跑了10步
兔子------>跑了11步
兔子------>跑了12步
兔子------>跑了13步
兔子------>跑了14步
兔子------>跑了15步
兔子------>跑了16步
兔子------>跑了17步
兔子------>跑了18步
兔子------>跑了19步
***********************乌龟------>跑了19步
兔子------>跑了20步
***********************乌龟------>跑了20步
兔子------>跑了21步
***********************乌龟------>跑了21步
***********************乌龟------>跑了22步
***********************乌龟------>跑了23步
***********************乌龟------>跑了24步
兔子------>跑了22步
***********************乌龟------>跑了25步
兔子------>跑了23步
***********************乌龟------>跑了26步
兔子------>跑了24步
***********************乌龟------>跑了27步
兔子------>跑了25步
兔子------>跑了26步
兔子------>跑了27步
兔子------>跑了28步
兔子------>跑了29步
兔子------>跑了30步
兔子------>跑了31步
兔子------>跑了32步
兔子------>跑了33步
兔子------>跑了34步
兔子------>跑了35步
***********************乌龟------>跑了28步
兔子------>跑了36步
***********************乌龟------>跑了29步
兔子------>跑了37步
***********************乌龟------>跑了30步
兔子------>跑了38步
***********************乌龟------>跑了31步
兔子------>跑了39步
***********************乌龟------>跑了32步
兔子------>跑了40步
***********************乌龟------>跑了33步
兔子------>跑了41步
***********************乌龟------>跑了34步
兔子------>跑了42步
***********************乌龟------>跑了35步
兔子------>跑了43步
***********************乌龟------>跑了36步
兔子------>跑了44步
兔子------>跑了45步
***********************乌龟------>跑了37步
兔子------>跑了46步
***********************乌龟------>跑了38步
***********************乌龟------>跑了39步
***********************乌龟------>跑了40步
***********************乌龟------>跑了41步
***********************乌龟------>跑了42步
***********************乌龟------>跑了43步
***********************乌龟------>跑了44步
***********************乌龟------>跑了45步
***********************乌龟------>跑了46步
***********************乌龟------>跑了47步
***********************乌龟------>跑了48步
***********************乌龟------>跑了49步
***********************乌龟------>跑了50步
***********************乌龟------>跑了51步
***********************乌龟------>跑了52步
***********************乌龟------>跑了53步
***********************乌龟------>跑了54步
***********************乌龟------>跑了55步
***********************乌龟------>跑了56步
***********************乌龟------>跑了57步
***********************乌龟------>跑了58步
***********************乌龟------>跑了59步
***********************乌龟------>跑了60步
***********************乌龟------>跑了61步
***********************乌龟------>跑了62步
***********************乌龟------>跑了63步
***********************乌龟------>跑了64步
***********************乌龟------>跑了65步
***********************乌龟------>跑了66步
***********************乌龟------>跑了67步
***********************乌龟------>跑了68步
***********************乌龟------>跑了69步
***********************乌龟------>跑了70步
***********************乌龟------>跑了71步
***********************乌龟------>跑了72步
***********************乌龟------>跑了73步
***********************乌龟------>跑了74步
***********************乌龟------>跑了75步
***********************乌龟------>跑了76步
***********************乌龟------>跑了77步
***********************乌龟------>跑了78步
兔子------>跑了47步
***********************乌龟------>跑了79步
兔子------>跑了48步
***********************乌龟------>跑了80步
兔子------>跑了49步
***********************乌龟------>跑了81步
兔子------>跑了50步
***********************乌龟------>跑了82步
兔子------>跑了51步
***********************乌龟------>跑了83步
兔子------>跑了52步
***********************乌龟------>跑了84步
兔子------>跑了53步
***********************乌龟------>跑了85步
兔子------>跑了54步
***********************乌龟------>跑了86步
***********************乌龟------>跑了87步
兔子------>跑了55步
***********************乌龟------>跑了88步
兔子------>跑了56步
兔子------>跑了57步
兔子------>跑了58步
兔子------>跑了59步
兔子------>跑了60步
兔子------>跑了61步
兔子------>跑了62步
兔子------>跑了63步
兔子------>跑了64步
兔子------>跑了65步
兔子------>跑了66步
兔子------>跑了67步
兔子------>跑了68步
兔子------>跑了69步
兔子------>跑了70步
兔子------>跑了71步
兔子------>跑了72步
兔子------>跑了73步
兔子------>跑了74步
兔子------>跑了75步
兔子------>跑了76步
兔子------>跑了77步
兔子------>跑了78步
兔子------>跑了79步
兔子------>跑了80步
兔子------>跑了81步
兔子------>跑了82步
***********************乌龟------>跑了89步
兔子------>跑了83步
兔子------>跑了84步
兔子------>跑了85步
兔子------>跑了86步
兔子------>跑了87步
兔子------>跑了88步
兔子------>跑了89步
兔子------>跑了90步
兔子------>跑了91步
兔子------>跑了92步
兔子------>跑了93步
兔子------>跑了94步
兔子------>跑了95步
兔子------>跑了96步
***********************乌龟------>跑了90步
兔子------>跑了97步
兔子------>跑了98步
兔子------>跑了99步
winner is 兔子
***********************乌龟------>跑了91步

你可能感兴趣的:(Java,java)