Java中的线程共有六种状态,分别是new(新建状态),runnable(可运行状态),blocked(阻塞状态),waiting(无限等待状态),timed_waiting(计时等待状态),terminated(消亡状态)
new:创建后,启动前。(还没有利用start方法启动)处于该状态,举例:
runnable:线程正在执行run中的代码时,就处于该状态,举例:
blocked:两个线程同时执行一个run中的代码,一个线程run方法后,因为锁的存在,另一个线程只能等待锁,当获取锁(synchronized)对象失败后,就进入锁阻塞状态,举例:
weiting:当线程获取锁(lock)对象失败后,或者执行wai();方法时,处于该状态,举例:
timed_waiting:在调用sleep();方法时,处于该状态,举例:
terminated:当线程执行完run中的代码后就会消亡,此时会处于该状态,举例: