线程状态

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 线程结束状态

你可能感兴趣的:(线程状态)