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()方法

相关推荐
:mnong2 分钟前
Superpowers 项目设计分析
java·c语言·c++·python·c#·php·skills
a里啊里啊7 分钟前
测试开发面试题
开发语言·chrome·python·xpath
豆沙糕8 分钟前
Python异步编程从入门到实战:结合RAG流式回答全解析
开发语言·python·面试
信奥胡老师17 分钟前
P1255 数楼梯
开发语言·数据结构·c++·学习·算法
s1mple“”22 分钟前
大厂Java面试实录:从Spring Boot到AI技术的电商场景深度解析
spring boot·redis·微服务·kafka·向量数据库·java面试·ai技术
A.A呐30 分钟前
【C++第二十一章】set与map封装
开发语言·c++
扶苏-su34 分钟前
Java--获取 Class 类对象
java·开发语言
东离与糖宝35 分钟前
LangChain4j vs Spring AI:最新对比,Java企业级Agent开发
java·人工智能
96771 小时前
C++多线程2 如何优雅地锁门 (lock_guard) 多线程里的锁的种类
java·开发语言·c++
老衲提灯找美女1 小时前
数据库事务
java·大数据·数据库