java多线程编程技术12-13(执行start()的顺序不是执行run()的顺序)




//主题:执行start()的顺序不是执行run()的顺序

//执行start()方法的顺序不代表线程启动的顺序,即不代表run()方法执行的顺序,执行run()方法的顺序是随机的

//创建测试类 MyThread2
public class MyThread2 extends Thread{
    private int i;

    public MyThread2(int i ){ //构造函数
        super();
        this.i=i;
    }

    @Override
    public void run() {
        System.out.println(i);
    }
}

// 下面测试类运行结果 1,2,3,8,7,6,5,11,13,4,9,10,15,14,12
//说明执行start()方法的顺序不代表线程启动的顺序,方法run()是被随机调用的,也从另外一个角度说明线程是随机执行的


//运行测试类
class Test{
    public static void main(String[] args) {
        MyThread2 tl1=new MyThread2(1);
        MyThread2 tl2=new MyThread2(2);
        MyThread2 tl3=new MyThread2(3);
        MyThread2 tl4=new MyThread2(4);
        MyThread2 tl5=new MyThread2(5);
        MyThread2 tl6=new MyThread2(6);
        MyThread2 tl7=new MyThread2(7);
        MyThread2 tl8=new MyThread2(8);
        MyThread2 tl9=new MyThread2(9);
        MyThread2 tl10=new MyThread2(10);
        MyThread2 tl11=new MyThread2(11);
        MyThread2 tl12=new MyThread2(12);
        MyThread2 tl13=new MyThread2(13);
        MyThread2 tl14=new MyThread2(14);
        MyThread2 tl15=new MyThread2(15);
        tl1.start();
        tl2.start();
        tl3.start();
        tl4.start();
        tl5.start();
        tl6.start();
        tl7.start();
        tl8.start();
        tl9.start();
        tl10.start();
        tl11.start();
        tl12.start();
        tl13.start();
        tl14.start();
        tl15.start();

    }
}

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值