1.NEW:属于Thread对象创建出来了,但是内核的PCB还没有创建(属于还没有真正的创建线程)
2.TERMINATED:内核的PCB销毁了,但是Thread对象还在
3.RUNNABLE:就绪状态(正在CPU上运行 而且在就绪队列中排序)
4.TIMED_WAITING:按照一定的时间进行堵塞 通常是采用sleep()
5.WAITING:特殊的堵塞状态 调用使用wait
6.BLOCKED:等待锁的时候进入的阻塞状态
总体的来说 状态就是:就绪状态+堵塞状态(堵塞状态又分为3中具体情况)
状态切换的条件
首先刚开始创建的时候 状态为NEW状态 接下来NEW状态完成后进入RUNNABKE状态 在然后运行完了就是TERMINARED状态
在RUNNABLE状态中会产生TIMED_WAITING 和 BLOCKED 和 WAITING 状态 RUNNABLE状态可以在这这个状态之间相互转换
如果使用wait()/不带参数的join()方法 就会转换为WAITING状态
如果使用sleep()/带参数的join(time)方法 就会装换为TIMED_WAITING状态
如果使用synchronized(加锁)方法就会装换为BLOCKED状态