Java线程调用的随机性

Java JDK内置多线程支持,可通过继承Thread或实现Runnable接口实现。线程执行顺序具有不确定性,CPU随机调用run方法,导致运行结果可能与代码顺序不同。示例展示了继承Thread的方式创建线程,运行结果显示线程执行的随机性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

     在Java的JDK开发包中,已经自带了对多线程技术的支持,可以很方便进行多线程编程。方式一般有两种,一种是继承Thread类,另一种是实现Runnable接口。


Thread类的结构: 

public class Thread implements Runnable

从类的结构可以看出Thread类实现了Runnable接口,它们之间具有多态关系。Java语言的特点是单根继承,所以为了支持多继承,完全可以实现Runnable接口的方式,一边实现一边继承。这两种方式创建的线程的性质是一样的,没有差别。


示例(第一种方式):

创建一个自定义的线程为MyThread.java,继承Thread,并且重写run方法。

public class MyThread extends Thread{
    @Override
    public  void run(){
        super.run();
        System.out.println("MyThread");
    }
}


 main方法调用:

public class test {
    public static void main(String[] args){
        MyThread myThread=new MyThread();
        myThread.start();
        System.out.println("运行结束!");
    }
}

运行结果:



   从运行结果来看,MyThread.java类中的run方法执行的时间比较晚,这也说明在使用多线程技术时,代码的运行结果与代码执行顺序或者调用顺序是无关的。


   线程是一个子任务,CPU以不确定的方式,或者说以随机的时间来调用线程中的run方法,所以出现先打印“运行结束!”后输出“MyThread”这样的结果。

评论 18
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值