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 分钟前
Spring基础分析13-Spring Security框架
java·后端·spring
lxyzcm3 分钟前
C++23新特性解析:[[assume]]属性
java·c++·spring boot·c++23
古希腊掌管学习的神30 分钟前
[LeetCode-Python版]相向双指针——611. 有效三角形的个数
开发语言·python·leetcode
赵钰老师30 分钟前
【R语言遥感技术】“R+遥感”的水环境综合评价方法
开发语言·数据分析·r语言
V+zmm1013436 分钟前
基于微信小程序的乡村政务服务系统springboot+论文源码调试讲解
java·微信小程序·小程序·毕业设计·ssm
就爱学编程39 分钟前
重生之我在异世界学编程之C语言小项目:通讯录
c语言·开发语言·数据结构·算法
Oneforlove_twoforjob1 小时前
【Java基础面试题025】什么是Java的Integer缓存池?
java·开发语言·缓存
emoji1111111 小时前
前端对页面数据进行缓存
开发语言·前端·javascript
xmh-sxh-13141 小时前
常用的缓存技术都有哪些
java
每天都要学信号1 小时前
Python(第一天)
开发语言·python