线程的状态一共有七种:
创建线程对象--->线程进入新建状态(new),调用start方法--->线程进入就绪状态(runnable),如果线程获取到CPU的使用权--->线程进入运行状态(running),线程执行结束--->线程进入终止状态(terminate)。
如果没有获取到CPU使用权呢可能会转化为其他状态:
当没有获取到锁的时候--->进入阻塞状态(blocked),获得锁后再进入到就绪状态。
当线程调用wait()方法时--->线程进入等待状态(waiting),其他线程调用notify唤醒后如果能获取锁进入就绪状态,获取不到就进入阻塞状态。
当线程调用sleep方法--->线程进入超时等待状态(timed_waiting),到时间后进入就绪状态