JVM线程的几种状态

1.New

新建的线程,线程还没启动。

2.Runnable

线程正在运行或者等待操作系统中的其他资源,例如线程运行过程中,系统分配资源给其他操作,此时这个线程还是Runnable状态,可以理解为可运行的线程。

3.Blocked

阻塞状态,阻塞状态的线程正在等待监视器锁,在Dump日志中一般显示为java.lang.Thread.State: BLOCKED

4.Waiting

等待线程,线程正在无限期的等待另一个线程执行某些特别操作。一般线程由于调用一下方法会处于等待状态。

Object.wait // 不带超时
Thread.join // 不带超时
LockSupport.park

5.Time_Waiting

和Waiting类似,但是线程等待有时间限制,设定了指定等待时间。一般线程由于调用一下方法会处于超时等待状态。

Thread.sleep
Object.wait // 指定超时时间
Thread.join // 指定超时时间
LockSupport.parkNanos
LockSupport.parkUntil

6.Terminated

终止状态。

相关推荐
Dcs1 小时前
Java 中 UnaryOperator 接口与 Lambda 表达式的应用示例
java·后端
bagadesu3 小时前
使用Docker构建Node.js应用的详细指南
java·后端
没有bug.的程序员3 小时前
Spring Cloud Gateway 性能优化与限流设计
java·spring boot·spring·nacos·性能优化·gateway·springcloud
molunnnn3 小时前
第四章 Agent的几种经典范式
开发语言·python
洛_尘4 小时前
JAVA EE初阶 2: 多线程-初阶
java·开发语言
Slow菜鸟4 小时前
Java 开发环境安装指南(五) | Git 安装
java·git
@卞5 小时前
C语言常见概念
c语言·开发语言
wjs20245 小时前
Eclipse 关闭项目详解
开发语言
沐知全栈开发5 小时前
《隐藏(Hide)》
开发语言