1) 观察线程的所有状态
其实这里所提到的状态, 就是pcb里的状态字段, 系统设定将线程分为了就绪状态和堵塞状态, 但是在Java中, 把上述状态又做了划分. 就是以下六种.
2) 状态之间的切换条件
一个线程在没执行star方法之前是NEW状态, 执行start方法后就会是RUNNABLE状态, 此时如果是sleep造成的堵塞, 线程状态就会变成TIMED_WAITING, 要是wait造成的堵塞, 线程状态就会变成WAITING, 要是synchronized造成的堵塞, 线程状态就会变成BLOCKED.