java线程状态

六种状态:

1New新建:

new Thread()新建一个线程但还没有运行start()时

2Runnable可运行

线程调用start()方法后进入Runnable状态

3Blocked被阻塞

线程进入synchronized代码块时未能获取相应的monitor锁进入Blocked状态

4Waiting等待

线程没有获取到除synchronized锁外的其他锁(如ReentrantLock)会进入Waiting状态,本质上是执行了LockSupport.park()方法

5Time Waiting计时等待

和Waiting的区别是Time Waiting会设置等待时间。

6Terminated被终止

线程run()方法执行完或者线程出现了一个没有捕获的异常终止了run()方法

相关推荐
张飞洪6 分钟前
C# 13 与 .NET 9 跨平台开发实战:基于.NET 9 与 EF Core 9 的现代网站与服务开发
开发语言·c#·.net
渣哥11 分钟前
Java开发必看!序列化与反序列化到底有多重要?
java
郝学胜-神的一滴12 分钟前
使用C++11改进工厂方法模式:支持运行时配置的增强实现
开发语言·c++·程序人生·设计模式
仙俊红15 分钟前
使用jwt+redis实现单点登录
java
我是场19 分钟前
Android14内核调试 - boot & vendor_boot
java·开发语言·spring boot
爱和冰阔落19 分钟前
从关机小游戏学 C 语言:分支循环 + 关键字(break/continue)实战
c语言·开发语言
Korloa32 分钟前
表达式(CSP-J 2021-Expr)题目详解
c语言·开发语言·数据结构·c++·算法·蓝桥杯·个人开发
fake_ss19833 分钟前
从零开发Java坦克大战Ⅱ (下)-- 从单机到联机(完整架构功能实现)
java·网络·tcp/ip·游戏程序
lssjzmn1 小时前
java中,synchronized 关键字与 ReentrantLock 重入锁的区别以及应用场景,注意事项
java·后端
渣哥1 小时前
Spring循环依赖的终极解密:三级缓存如何拯救Bean创建死锁
java