线程状态

我们知道Java的线程一共有6种状态, 在Thread中定义了枚举内部类来表示.

  1. NEW(新建): 新创建一个线程对象, 并没有调用start()方法.
  2. RUNNABLE(运行): Java把操作系统的Ready(就绪)和Running(执行)两种状态合并为一种状态Runnable.在调用start()方法后线程处于Ready状态, 当获得CPU执行时间片后开始执行run()犯法的代码, 此时线程处于Running状态.
  3. BLOCKED(阻塞): 阻塞状态.
    WAITING(等待): 表示线程无限期等待, 需要唤醒才可以继续获得CPU执行时间片.
    TIMED_WAITING(限时等待): 表示在指定时间内等待, 超过对应的时间进入RUNNABLE状态.
    TERMINATED(结束): 表示线程死亡, 正常结束或者执行抛出异常未被捕获都会进入该状态.
线程状态流转图:
线程状态流转图

你可能感兴趣的:(线程状态)