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

终止状态。

相关推荐
吴声子夜歌2 分钟前
Java——反射
java·反射
JAVA面经实录9176 分钟前
完整版JVM 深度学习体系(二)
java·jvm
m0_702036536 分钟前
html标签如何提升可访问性_aria-label与title区别【指南】
jvm·数据库·python
.ZGR.8 分钟前
线程池相关知识及并发统计案例实现
java·开发语言
流年如夢10 分钟前
初入C++
开发语言·c++
Mr_pyx10 分钟前
面试题记录
jvm·数据结构·算法·spring·mybatis
zzzsde12 分钟前
【Linux】线程同步和互斥(1):线程互斥与加锁实现
linux·运维·服务器·开发语言·算法
yoyo_zzm12 分钟前
编程语言大比拼:C++到PHP全解析
开发语言·c++·php
ㄟ留恋さ寂寞13 分钟前
Golang格式化输出占位符都有什么_Golang fmt占位符教程【通俗】
jvm·数据库·python
番茄去哪了15 分钟前
JVM虚拟机基础篇(上)
jvm