java多线程-线程状态
线程共6状态
- NEW:线程被创建出来(new Thread),状态为NEW。此时程序未开始运行。
- RUNNABLE:调用start()方法后,状态为RUNNABLE,并没有立即开始执行。该状态的线程可以是运行的也可以是未运行的。
- BLOCKED:当一个线程正在获取一个对象锁,而该对象锁被其他线程持有时,则该线程进入BLOCKED状态。(线程争夺锁排队进入synchronized代码块)
- WAITING:当一个线程等待另一个线程通知调度器一个条件时,将主动进入WAITING状态,执行wait、join、或者等待condition、lock就会出现等待。
- TIME_WAITING:与WAITING不同,该状态会在设置时间到期后自动唤醒。
- TERMINATED:线程执行完run()方法时。
图片摘自:http://www.cnblogs.com/trust-freedom/p/6606594.html