1.龜兔賽跑新規:
規則:龜兔同時起步,終點為100米,兔子跑步的能力強,烏龜跑步的能力弱(優先級的設置)
途中: 1.兔子跑到40米的時候,看不見烏龜小睡10毫秒,醒來接着跑
2.兔子跑到80米的時候,還是看不見烏龜,再等等他,接着跑
3.兔子跑到100米到達終點
4.烏龜從一開始就一直跑,直至到達終點
代碼實現:
package com.thread; //烏龜 public class Tortoise extends Thread { public Tortoise(String name) { super(name); } @Override public void run() { System.out.println("烏龜開始起跑了-----------------"); for (int i=0;i<=100;i++){ System.out.println(this.getName()+"跑了"+i+"米"); if (i==100){ System.out.println(this.getName()+"跑完了全程"); } } } }
package com.thread; //兔子 public class Rubbit implements Runnable { private String name; public Rubbit(String name) { this.name = name; } public String getName() { return name; } @Override public void run() { System.out.println("兔子開始起跑了---------------"); for (int i=0;i<=100;i++){ System.out.println(this.getName()+"跑了"+i+"米"); if (i==40){ try { System.out.println(this.getName()+"看不見烏龜小睡一會"); Thread.sleep(10); } catch (InterruptedException e) { e.printStackTrace(); } } if (i==80){ System.out.println(this.getName()+"還是看不見烏龜,等會他"); Thread.yield(); } if (i==100){ System.out.println(this.getName()+"跑完了全程"); } } } }
package com.thread; public class StartTest { public static void main(String[] args) { Tortoise tortoise = new Tortoise("烏龜"); Rubbit rubbit =new Rubbit("兔子"); Thread thread = new Thread(rubbit); tortoise.setPriority(1); thread.setPriority(10); thread.start(); tortoise.start(); } }
運行結果:
烏龜開始起跑了----------------- 兔子開始起跑了--------------- 烏龜跑了0米 烏龜跑了1米 烏龜跑了2米 兔子跑了0米 兔子跑了1米 兔子跑了2米 兔子跑了3米 兔子跑了4米 兔子跑了5米 兔子跑了6米 兔子跑了7米 兔子跑了8米 烏龜跑了3米 兔子跑了9米 兔子跑了10米 兔子跑了11米 兔子跑了12米 兔子跑了13米 兔子跑了14米 兔子跑了15米 兔子跑了16米 兔子跑了17米 兔子跑了18米 兔子跑了19米 兔子跑了20米 兔子跑了21米 兔子跑了22米 兔子跑了23米 兔子跑了24米 兔子跑了25米 兔子跑了26米 烏龜跑了4米 兔子跑了27米 兔子跑了28米 兔子跑了29米 兔子跑了30米 兔子跑了31米 兔子跑了32米 兔子跑了33米 兔子跑了34米 兔子跑了35米 兔子跑了36米 兔子跑了37米 兔子跑了38米 兔子跑了39米 兔子跑了40米 烏龜跑了5米 兔子看不見烏龜小睡一會 烏龜跑了6米 烏龜跑了7米 烏龜跑了8米 烏龜跑了9米 烏龜跑了10米 烏龜跑了11米 烏龜跑了12米 烏龜跑了13米 烏龜跑了14米 烏龜跑了15米 烏龜跑了16米 烏龜跑了17米 烏龜跑了18米 烏龜跑了19米 烏龜跑了20米 烏龜跑了21米 烏龜跑了22米 烏龜跑了23米 烏龜跑了24米 烏龜跑了25米 烏龜跑了26米 烏龜跑了27米 烏龜跑了28米 烏龜跑了29米 烏龜跑了30米 烏龜跑了31米 烏龜跑了32米 烏龜跑了33米 烏龜跑了34米 烏龜跑了35米 烏龜跑了36米 烏龜跑了37米 烏龜跑了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米 烏龜跑了79米 烏龜跑了80米 烏龜跑了81米 烏龜跑了82米 烏龜跑了83米 烏龜跑了84米 烏龜跑了85米 烏龜跑了86米 烏龜跑了87米 烏龜跑了88米 烏龜跑了89米 烏龜跑了90米 烏龜跑了91米 烏龜跑了92米 烏龜跑了93米 烏龜跑了94米 烏龜跑了95米 烏龜跑了96米 烏龜跑了97米 烏龜跑了98米 烏龜跑了99米 烏龜跑了100米 烏龜跑完了全程 兔子跑了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米 兔子跑了79米 兔子跑了80米 兔子還是看不見烏龜,等會他 兔子跑了81米 兔子跑了82米 兔子跑了83米 兔子跑了84米 兔子跑了85米 兔子跑了86米 兔子跑了87米 兔子跑了88米 兔子跑了89米 兔子跑了90米 兔子跑了91米 兔子跑了92米 兔子跑了93米 兔子跑了94米 兔子跑了95米 兔子跑了96米 兔子跑了97米 兔子跑了98米 兔子跑了99米 兔子跑了100米 兔子跑完了全程