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

终止状态。

相关推荐
繁依Fanyi几秒前
简易安卓句分器实现
java·服务器·开发语言·算法·eclipse
慧都小妮子12 分钟前
Spire.PDF for .NET【页面设置】演示:打开 PDF 时自动显示书签或缩略图
java·pdf·.net
m512716 分钟前
LinuxC语言
java·服务器·前端
IU宝20 分钟前
C/C++内存管理
java·c语言·c++
湫ccc20 分钟前
《Python基础》之pip换国内镜像源
开发语言·python·pip
瓜牛_gn21 分钟前
依赖注入注解
java·后端·spring
fhvyxyci21 分钟前
【C++之STL】摸清 string 的模拟实现(下)
开发语言·c++·string
hakesashou22 分钟前
Python中常用的函数介绍
java·网络·python
qq_4597300324 分钟前
C 语言面向对象
c语言·开发语言
佚先森31 分钟前
2024ARM网络验证 支持一键云注入引流弹窗注册机 一键脱壳APP加固搭建程序源码及教程
java·html