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

相关推荐
苹果醋31 小时前
SpringCloud Alibaba场景实践(Nacos篇)
java·运维·spring boot·mysql·nginx
云边小网安2 小时前
java集合(十) ---- LinkedList 类
java·开发语言·青少年编程·java集合
乐神嘎嘎嘎2 小时前
springboot速通
java·spring boot
Zephyrtoria3 小时前
区间合并:区间合并问题
java·开发语言·数据结构·算法
你怎么知道我是队长4 小时前
GO语言---匿名函数
开发语言·后端·golang
lansye4 小时前
侃侃AI编程
开发语言·qt·ai编程
uyeonashi5 小时前
【QT】窗口详解
开发语言·c++·qt·学习
Hello eveybody6 小时前
C++介绍整数二分与实数二分
开发语言·数据结构·c++·算法
jmlinux7 小时前
从 C 语言计算器到串口屏应用
c语言·开发语言
yuren_xia7 小时前
RabbitMQ 知识详解(Java版)
java·rabbitmq·java-rabbitmq