多线程的基础传送门:Java基础系列(二十一)多线程
一、线程生命周期概述
线程从创建、运行到结束总是处于下面五个状态之一:新建状态、就绪状态、运行状态、阻塞状态及死亡状态
具体的运行过程如下:
- 通过
new()
关键字创建后,进入到新生状态 - 调用
start()
后进入就绪状态 - CPU 调度到本线程后,本线程开始执行。进入到运行状态
- 运行中遇到
join()
,yield()
,sleep()
造成阻塞,进入阻塞状态。阻塞完成后,又回到就绪状态 - 线程正常执行完,或者遇到异常终止后,进入终止状态
二、新建状态
新建一个线程的对象,实现 Runnable
接口和继承 Thread
可以得到一个线程类,new
一个实例出来,线程就进入了初始状态
三、就绪状态
当线程有资格运行,但调度程序还没有把它选定为运行线程时线程所处的状态