JUC:7线程的五种状态与六种状态
线程的五种状态指的就是操作系统层面的状态:
创建、就绪、运行、阻塞、销毁
六种状态指的就是jvm虚拟机中定义的线程状态:
new、runnable、terminate、waiting、blocked、time_waiting
显然waiting、blocked、time_waiting都属于阻塞
而runnable需要重点记忆:运行与准备状态都是runnable
具体对应图如下:
需要记忆:yield()
只是提示调度器“我这次让个步子”,线程仍然处于 RUNNABLE 状态,不会进入 BLOCKED。yield()方法用于让出本轮时间轮片,而因为没有释放资源,所以本身还处于就绪状态,所以对应jvm的状态为
RUNNABLE