java多线程-线程状态

线程共6状态

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

图片摘自:http://www.cnblogs.com/trust-freedom/p/6606594.html

原文地址:https://www.cnblogs.com/liuboyuan/p/10137967.html