线程生命周期

1、新建
new 关键字创建线程之后,该线程处于新建状态
JVM为线程分配内存,初始化成员变量值
2、就绪
线程调用start()方法,线程处于就绪状态
JVM为线程创建方法栈和程序计数器,等待线程调度器调度
3、运行
就绪态的线程获得CPU资源,开始执行run()方法,线程处于运行状态
4、阻塞
调用sleep()方法
调用阻塞IO
获得同步锁
线程等待通知(notify唤醒)
suspend方法,线程挂起,这个方法容易导致线程死锁,尽量避免使用此方法
5、死亡
run()/call()方法执行完成,线程正常结束
线程抛出未捕获的Exception或者Error
线程调用stop()方法结束该线程,方法熔古死锁,不推荐使用。

 

原文地址:https://www.cnblogs.com/wuhao-0206/p/12862216.html