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

相关推荐
小Ti客栈5 小时前
Spring Boot 集成 Springdoc-OpenAPI 与 Knife4j实现接口文档与可视化调试
java·spring boot·后端
互联网中的一颗神经元5 小时前
小白python入门 - 39. 采集流水线小项目
开发语言·python
Wang's Blog5 小时前
Go-Zero 项目开发22:用户群聊功能的实现与完善
开发语言·golang
Ai拆代码的曹操5 小时前
Spring 事务 REQUIRES_NEW 嵌套调用:连接池翻倍的秘密
java·后端·spring
a1117766 小时前
坦克大战3D Three.js 3D (开源项目)
开发语言·javascript·3d
动恰客流统计6 小时前
ReID边缘计算视觉统计:餐饮店客流增长的数字化破局路径
java·大数据·运维·人工智能
Ivanqhz7 小时前
Rust &‘static str浅析
java·前端·javascript·rust
Wang's Blog7 小时前
Go-Zero项目开发24: 基于Bitmap实现群聊消息已读未读
开发语言·后端·golang
weixin_419658319 小时前
Docker 搭建 Jenkins 服务
java·docker·jenkins
captain37610 小时前
多线程线程安全问题
java·java-ee