Java线程状态转换

线程状态

  • new,线程尚未启动
  • runnable,线程正被JVM执行,但线程可能在等待来自操作系统的资源,例如CPU、I/O
  • blocked,线程正等待监视器锁,以进入或再次进入(从条件队列中被唤醒)同步块或同步方法
  • waiting,线程正等待另一条线程满足其等待的条件并唤醒它
  • timed wating,线程正等待另一条线程在一定时间内满足其等待的条件并唤醒它,或者正单纯等待一定时间
  • terminated,线程执行完成

线程状态转换

调用Thread.yield()只是一种对线程调度的提示,调度器可能会忽略此提示,并让当前线程继续执行