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 分钟前
【多线程】Thread类及常用方法
java·java-ee
+++.3 分钟前
c++雪花屏(vsCode+cmake+mingw+ninja)
开发语言·c++·vscode
小年糕是糕手8 分钟前
【C++】内存管理(下)
java·c语言·开发语言·数据结构·c++·算法
缺点内向9 分钟前
如何使用C#将Excel工作表拆分为独立文件
开发语言·c#·.net·excel
CoderYanger9 分钟前
第 479 场周赛Q2——3770. 可表示为连续质数和的最大质数
java·数据结构·算法·leetcode·职场和发展
L.EscaRC11 分钟前
Spring Boot开发中加密数据的模糊搜索
java·spring boot·后端
艾莉丝努力练剑11 分钟前
【Linux基础开发工具 (六)】Linux中的第一个系统程序——进度条Linux:详解回车、换行与缓冲区
java·linux·运维·服务器·c++·centos
8Qi813 分钟前
Redis之Lua脚本与分布式锁改造
java·redis·分布式·lua
钱多多_qdd13 分钟前
mini-spring基础篇:IoC(十一):Aware接口
java·spring