目录
前言
在操作系统中,对于PCB有一个状态的描述(想了解PCB可点击这里哦)
Java中觉得自带的状态不是很适合,自己有搞了一套状态规则
一.线程中的几种状态:
NEW | Thread对象创建出来了,但是内核的PCB还没创建(还没有真正创建线程) |
TERMUNATED | 内核的PCB销毁了,但是Thread对象还在 |
RUNNABLE | 就绪状态(正在CPU上运行+在就绪状态队列中排队) |
TIMED_WAITING | 按一定的时间,进行阻塞,调用sleep或者join(time)方法就会进入该状态 |
WAITING | 特殊的阻塞状态,调用wait或者join()方法就会进入该状态。 |
BLOCKED | 等待锁的适合进入阻塞状态 |
整体来说,状态+阻塞(分成三种具体情况了)
二.线程之间的转换
线程通过调用特定的方法,可以在就绪状态和阻塞状态之间来回转换: