多线程执行时间的差异

Java中多线程执行时间是非顺序的,因为线程会根据调度规则竞争执行时间,导致顺序不确定。CPU的运行速度、高速缓存、内存和外存的读写速度差异,以及JVM中虚拟指令集到计算机指令集的映射,都影响了线程的执行顺序。熟悉操作系统中的线程调度概念有助于理解这一现象。
摘要由CSDN通过智能技术生成

在Java当中,多线程执行时间是非顺序,这个究竟是怎么回事?

举例代码:

public class ICurrentThread extends Thread {
	@Override
	public void run(){
		super.run();
		System.out.println("this is my thread");
	}
}

public class CreateTheadTest {

	public static void main(String[] args) {
		System.out.println(Thread.currentThread().getName());
		ICurrentThread ict=new ICurrentThread();
		ict.start();
		System.out.println("run end");
	}

}
运行结果:

main
run end
this is my thread
当在一个进程当中出现两个线程的时候,这两个线程会根据线程调度规则竞争执行时间,顺序将会被打乱。例如示例中main线程中开启了另外一个线程ict,但是ict在运行时慢于main线程,出现了main线程早于ict线程执行完成,虽然main线程中存在执行语句在顺序上慢于ic

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值