1. 程式人生 > 其它 >龜兔賽跑--多執行緒執行操作判斷及程式碼

龜兔賽跑--多執行緒執行操作判斷及程式碼

龜兔賽跑--多執行緒執行操作判斷,繼承Runnable介面

可自己設定總路程和角色

程式碼如下:

點選檢視程式碼
public class Test03 implements Runnable {
    private static String winner;
    @Override
    public void run() {
                //比賽總里程100步
                for (int i = 0; i <=100; i++) {
                    //呼叫getWinner方法判斷步數是否滿足總里程100,有Winner返回ture,否則false
                    boolean flag = getWinner(i);
                    //有Winner則為false,不滿足條件,跳過if判斷
                    if (flag){
                        //為ture則進入條件,break結束迴圈
                        break;
                    }
                    System.out.println(Thread.currentThread().getName()+"跑了"+i+"步");
                }
    }
public boolean getWinner(int steps){
    if (winner!=null){//有贏家
        return true;
    }else {
        if (steps>=100){
            winner = Thread.currentThread().getName();
            System.out.println("贏家是"+winner);
            return true;
        }
    }
    return false;
}


    public static void main(String[] args) {
//一個主執行緒,兩個分執行緒分別去搶佔主程式的cpu資源
        Test03 test03 = new Test03();
        new Thread(test03,"烏龜").start();
        new Thread(test03,"兔子").start();
    }
}