1.1.2 线程状态

107 阅读1分钟

线程状态

  • 6个状态定义:java.lang.Thread.State

    1. New:尚未启动的线程的线程状态。

    2. Runnable:可运行线程的线程状态,等待CPU调度。

    3. Blocked:线程阻塞等待监视器锁定的线程状态。

      处于synchronized同步代码块或方法中被阻塞。

    4. Waiting:等待线程的线程状态。下列不带超时的方式:

      Object.wait、Thread.join、LockSupport.park

    5. Timed Waiting:具体指定等待时间的等待线程的线程状态。下列带超时的方式:

      Thread.sleep、Object.wait、Thread.join、LockSupport.parkNanos、LockSupport.parkUnit

  • 线程状态切换

    • 线程执行完,终止之后,再进行调用(start),会抛出 IllegalThreadStateException 异常。