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

终止状态。

相关推荐
apcipot_rain3 分钟前
【天梯赛】2026天梯赛模拟赛——题解
开发语言·c++·算法·蓝桥杯·天梯赛
那个失眠的夜4 分钟前
Spring 的纯注解配置
xml·java·数据库·后端·spring·junit
Rust研习社6 分钟前
Rust 堆内存指针 Box 详解
开发语言·后端·rust
ffqws_9 分钟前
Spring Boot:用JWT令牌和拦截器实现登录认证(含测试过程和关键注解讲解)
java·spring boot·后端
liulilittle14 分钟前
Lua 浮点数比较
开发语言·junit·lua
小兔崽子去哪了23 分钟前
华为 IODT 设备接入
java·华为
yuyuyuliang0025 分钟前
python笔记1
开发语言·笔记·python
摇滚侠27 分钟前
Groovy 如何给集合中添加元素
java·开发语言·windows·python
~plus~27 分钟前
C# 事件溯源与 CQRS 架构:用 EventStoreDB 打造可靠系统
开发语言·架构·c#
江奖蒋犟30 分钟前
【C++】红黑树
开发语言·c++