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

终止状态。

相关推荐
星晨雪海4 分钟前
基于 @Resource 的支付 Service 多实现类完整示例
java·开发语言
阿维的博客日记10 分钟前
什么是逃逸分析
java·juc
Mr_Xuhhh17 分钟前
深入理解JVM:从原理到实践的完整指南
jvm
ACP广源盛1392462567327 分钟前
破局 Type‑C 切换器痛点@ACP#GSV6155+LH3828/GSV2221+LH3828 黄金方案
c语言·开发语言·网络·人工智能·嵌入式硬件·计算机外设·电脑
Ricky_Theseus42 分钟前
C++右值引用
java·开发语言·c++
Rick19931 小时前
Java内存参数解析
java·开发语言·jvm
我是大猴子1 小时前
Spring代理类为何依赖注入失效?
java·后端·spring
勿忘,瞬间1 小时前
多线程之进阶修炼
java·开发语言
014-code1 小时前
线程池参数怎么配才不翻车
java
吴梓穆1 小时前
UE5 c++ 常用方法
java·c++·ue5