Java线程状态

NEW

已经创建线程,但还没在线程对象上调用 start() 方法。所有线程一开始都处于这个状态

RUNNABLE

线程正在运行,或者当操作系统调度线程时可以运行。

BLOCKED

线程中止运行,因为它在等待获得一个锁,以便进入声明为 synchronized 的方法或代码块。本节后面会详细介绍声明为 synchronized 的方法和代码块。

WAITING

线程中止运行,因为它调用了 Object.wait() 或 Thread.join() 方法。

TIMED_WAITING

线 程 中 止 运 行, 因 为 它 调 用 了 Thread.sleep() 方 法, 或 者 调 用 了 Object.wait() 或 Thread.join() 方法,而且传入了超时时间。

TERMINATED

线程执行完毕。线程对象的 run() 方法正常退出,或者抛出了异常

图解

图片来源: 《Java技术手册(第六版)》

img

后记

这只是我的看书摘录出来的.^_^