多线程的基本原理

当我们通过 new Thread().start() 来启动一个线程的时候,底层到底做了什么呢?

如下图:线程从创建到最终执行的整体流程

多线程的基本原理_第1张图片

    当执行 start() 方法启动线程的时候,会先在 jvm 层面创建一个线程,JVM 具有跨平台特性,它会根据当前操作系统的类型调用相关指令来创建线程并启动。

    线程启动后,并不会立即执行,而是要等到操作系统层面的 CPU 调度算法,把当前线程分配给某个CPU 来执行。线程被分配执行后,会调用线程中的 run() 方法执行相关指令。

你可能感兴趣的:(多线程,java)