多线程练习题

1.龟兔赛跑新规:

规则:龟兔同时起步,终点为100米,兔子跑步的能力强,乌龟跑步的能力弱(优先级的设置)

途中:        1.兔子跑到40米的时候,看不见乌龟小睡10毫秒,醒来接着跑
      2.兔子跑到80米的时候,还是看不见乌龟,再等等他,接着跑
      3.兔子跑到100米到达终点

                     4.乌龟从一开始就一直跑,直至到达终点

代码实现:

package com.my.test;


public class Rabbit extends Thread{
    String name;
    public Rabbit(){}
    public Rabbit(String name){
        this.name=name;
    }
    public String rabbit(){
        return name;
    }
    public void run(){
        System.out.println(this.rabbit()+"开始跑了------------");
        for (int i=1;i<=100;i++){
            System.out.println(this.rabbit()+"已经跑了"+i+"米");
            if (i==40){
                System.out.println(this.rabbit()+"看不见"+Tortoise.name+"休息10秒");
                try {
                    Thread.sleep(10000);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
            if (i==80){
                System.out.println(this.rabbit()+"还看不见"+Tortoise.name+"再等会儿");
                Thread.yield();  //拿到执行权后不执行,让给另一个线程
            }
            if (i==100){
                System.out.println(this.rabbit()+"跑完了");
            }
        }
    }
}
package com.my.test;

public class Tortoise implements Runnable{
    static String name;
    public Tortoise(){}
    public Tortoise(String name){
        this.name=name;
    }
    public String tortoise(){
        return name;
    }
    public void run(){
        System.out.println(this.tortoise()+"开始跑了------------");
        for (int i=1;i<=100;i++){
            System.out.println(this.tortoise()+"已经跑了"+i+"米");
            if (i==100){
                System.out.println(this.tortoise()+"跑完了");
            }
        }
    }
}
package com.my.test;

public class Test01 {
    public static void main(String[] args){
        Rabbit r=new Rabbit("兔子");

        Tortoise t=new Tortoise("乌龟");
        Thread r2=new Thread(t);

        r.setPriority(10);
        r2.setPriority(1);

        r.start();
        r2.start();
    }
}

运行结果:

兔子开始跑了------------
乌龟开始跑了------------
兔子已经跑了1米
兔子已经跑了2米
乌龟已经跑了1米
兔子已经跑了3米
乌龟已经跑了2米
兔子已经跑了4米
兔子已经跑了5米
乌龟已经跑了3米
兔子已经跑了6米
乌龟已经跑了4米
兔子已经跑了7米
兔子已经跑了8米
乌龟已经跑了5米
兔子已经跑了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米
兔子看不见乌龟休息10秒
乌龟已经跑了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米
兔子跑完了

猜你喜欢

转载自www.cnblogs.com/shenzhenhuaya/p/10842415.html