线程的生命周期

一个进程的不同线程有各自的栈,但是所有线程共享方法区和堆。

即方法区和堆都只有一块。

线程有五种状态:新建、就绪、运行、阻塞、死亡

当新建一个线程对象时,该线程就处于新建状态

当调用该线程对象的start方法时,Java虚拟机会为该线程分配栈和程序计数器,但是该线程并不会立即执行,而是进入就绪状态,等待JVM线程调度器的调度。

当调度到该线程,就进入运行状态。

在运行过程中,如果需要等待输入,等待IO,或者其他资源,或者调用了sleep方法,就进入阻塞状态。

该线程执行完毕,结束,或者线程抛出异常或者错误,或者调用该线程的stop方法,就进入死亡状态。

注意:

永远不要调用线程对象的run方法,而是要调用start方法。如果调用run方法,则会在主线程运行,没有启动多线程。


线程的生命周期
https://zhaoquaner.github.io/2022/05/11/Java/多线程/线程的生命周期/
更新于
2022年5月22日
许可协议