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

相关推荐
东阳马生架构18 分钟前
Nacos简介—3.Nacos的配置简介
java
yuanManGan19 分钟前
C++入门小馆: 深入了解STLlist
开发语言·c++
北极的企鹅8819 分钟前
XML内容解析成实体类
xml·java·开发语言
BillKu23 分钟前
Vue3后代组件多祖先通讯设计方案
开发语言·javascript·ecmascript
oioihoii24 分钟前
C++23 中 static_assert 和 if constexpr 的窄化布尔转换
java·jvm·c++23
Python自动化办公社区25 分钟前
Python 3.14:探索新版本的魅力与革新
开发语言·python
逐光沧海32 分钟前
STL常用算法——C++
开发语言·c++
Ivan陈哈哈33 分钟前
Redis是单线程的,如何提高多核CPU的利用率?
数据库·redis·缓存
聂 可 以36 分钟前
调整IntelliJ IDEA当前文件所在目录(包路径)的显示位置
java·ide·intellij-idea
星火撩猿40 分钟前
ubantu中下载编译安装qt5.15.3
开发语言·qt