- Java并发编程深度解析与实战
- 谭锋(Mic)
- 220字
- 2022-05-10 18:39:13
1.6 多线程的基本原理
当我们通过new Thread().start()来启动一个线程时,底层到底做了什么呢?
如图1-5所示,笔者描述了在Java中从创建一个线程到最终执行的整体流程。
图1-5 线程从创建到最终执行的整体流程
当执行start()方法启动线程时,会先在JVM层面创建一个线程,JVM具有跨平台特性,它会根据当前操作系统的类型调用相关指令来创建线程并启动。
线程启动后,并不会立刻运行,而是要等到操作系统层面的CPU调度算法,把当前线程分配给某个CPU来执行。线程被分配执行后,会回调线程中的run()方法执行相关指令。