线程状态

NEW 一个创建而未启动的线程。由于start方法只被调用一次,NEW状态只可能出现一次。

RUNNABLE 可看成是一个复合状态,包括两个子状态:READY和RUNNING。前者表示其可以被线程调度器调度使之处于RUNNING状态,后者表示该线程正在运行。执行yield方法可能导致该线程由RUNNING状态切换为READY状态。

BLOCKED 阻塞IO或者申请资源会使得线程进入该状态,不会占用CPU资源

WAITING 一个线程执行了某些特定方法后处于这种状态等待其他线程执行其他操作的状态。
RUNNING->WAITING:Object.wait(),Thread.join(),LockSupport.park(Object)
WAITING->RUNNING:Object.notify(),Object.notifyAll(),LockSupport.unpark(Object)

TIMED_WAITING 与WAITING类似,但不会一直等待,而是在指定时间后转换为RUNNABLE状态

TEAMINATED 线程结束状态

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容