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

Posted 子烁爱学习

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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时间片后变为运行中状态

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

阻塞态

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

 

以上是关于Java基础教程:多线程基础——线程的状态的主要内容,如果未能解决你的问题,请参考以下文章

Java基础教程——线程状态

Java基础教程:多线程基础——线程间的通信

java基础——线程的创建和状态

Java基础之多线程

Java基础教程:多线程基础——阻塞队列

Java多线程基础-第一节3:线程状态和线程安全