从JDK1.5开始,Thread类里加了线程状态的枚举:State。
其共有6项:NEW,RUNNABLE,BLOCKED,WAITING,TIMED_WAITING,TERMINATED。
NEW:线程创建到start方法被调用前,状态为NEW;
RUNNABLE:对JVM而言是正在执行,但可能正在等待操作系统的CPU时间片;
BLOCKED:等待monitor lock,即等待进入synchronized同步块或方法;
WAITING:当调用了Object.wait(),Thread.join(),LockSupport.park()后,进入等待状态;wait要等其他线程调用Object.notify或notifyAll,join要等指定的线程状态为TERMINATED;
TIMED_WAITING:类似WAITING,只是加了超时时间;Thread.sleep时,也是进入该状态;
TERMINATED:线程完成了所有的事情,最终的状态;
一个线程,都会经历 NEW,RUNNABLE,TERMINATED这3个状态。
当代码中有 synchronized时,有可能会出现BLOCKED状态。
有调用wait,join,park等方法时,会出现WAITING状态或TEMED_WAITING状态。
相关推荐
Java线程状态流转图
java线程状态之间的转换图,包含转换的一些条件
了解和理解JAVA线程状态:对于JAVA初学者来说,有作用。
Java学习教程-探究JAVA线程状态及转化视频.rar
Java线程状态转换.pdf 学习资料 复习资料 教学资源
java线程从新建到死亡所能经历的各种状态之间的流转。包括运行到阻塞、进入锁池、等待队列,全面而清晰的一张图
java线程的状态3---马克-to-win java视频的详细描述与介绍
主要介绍了Java线程状态转换关系实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
java 线程状态、线程池 1. java 的线程状态 状态 发生条件 NEW 线程刚刚被创建,没有启动,没有调用start方法 RUNNABLE(可运行) 线程已经在JVM中运行,但是是否运行不确定,看当前线程是否由CPU执行权 ...
Java线程:线程状态的转换 Java线程:线程的同步与锁 Java线程:线程的交互 Java线程:线程的调度-休眠 Java线程:线程的调度-优先级 Java线程:线程的调度-让步 Java线程:线程的调度-合并 Java线程:线程的调度-...
Java源码查看线程的运行状态.rarJava源码Java程序设计经典300例
Java线程:线程状态的转换 Java线程:线程的同步与锁 Java线程:线程的交互 Java线程:线程的调度-休眠 Java线程:线程的调度-优先级 Java线程:线程的调度-让步 Java线程:线程的调度-合并 Java线程:线程的...
主要给大家介绍了关于Java线程状态及切换、关闭线程的正确姿势,文中通过示例代码介绍的非常详细,对大家的学习或者使用Java具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
初学者学习java多线程的必备良师啊!! 该文档内容简单易懂 条理清晰 !! 内容包含:线程的状态及状态之间的转换 线程的优先级 线程的几大常用方法! 申明: 本文出自 “熔 岩” 博客,本人从百度文库转载而来! 大家都...
Java线程:概念与原理 2 一、操作系统中线程和进程的概念 2 二、Java中的线程 3 三、Java中关于线程的名词解释 3 四、线程的状态转换和生命周期 4 Java线程:创建与启动 7 Java线程:线程名称的设定及获取 10 Java...
有点乐趣,小java线程监控程序, 小java线程监控程序 小java线程监控程序
主要介绍了Java线程状态运行原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
Java线程:线程状态的转换 Java线程:线程的同步与锁 Java线程:线程的交互 Java线程:线程的调度-休眠 Java线程:线程的调度-优先级 Java线程:线程的调度-让步 Java线程:线程的调度-合并 Java线程:线程的调度-...
主要介绍了Java线程状态变换过程代码解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下