Java基础教程:多线程基础——线程的状态

Java基础教程:多线程基础——线程的状态

线程的状态

  在Java中,线程有6种状态,分别为:

  • 初始:NEW
  • 运行:RUNNABLE
  • 阻塞:BLOCKED
  • 等待:WAIT
  • 超时等待:TIMED_WAIT
  • 终止:TERMINAL

  这六种状态分别对应于Thread.State中的枚举类型

初始态

  初始态表示一个线程刚被初始化,即new Thread()

Thread thread = new Thread();
System.out.println(thread.getState());

//Output:NEW

  这个没什么好说的,也是最简单。

运行态

  当调用一个Thread对象的start方法后,该线程进入运行态。运行态的名字是很有迷惑性的,其实运行态再细分还可以分为两个子状态:

  • Ready:调用start后,该线程放入可运行线程池中,等待被调度,获得CPU运行权
  • Running:获得CPU时间片后变为运行中状态

  也即是就绪和运行中都是运行态,一定要谨记!

阻塞态

  阻塞态可能理解就要上一个台阶了,

猜你喜欢

转载自www.cnblogs.com/MrSaver/p/12398951.html