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

相关推荐
FreeBuf_几秒前
攻击者伪造Jackson JSON库入侵Maven中央仓库
java·json·maven
flysh052 分钟前
C#和.NET简介
开发语言·c#·.net
864记忆2 分钟前
Qt Creator 常用命令的中英文对照表
开发语言·qt
xun-ming3 分钟前
JVM实战中5个核心概念
java
风筝在晴天搁浅4 分钟前
hot100 146.LRU缓存
java·缓存
2501_946244788 分钟前
Flutter & OpenHarmony OA系统下拉刷新组件开发指南
开发语言·javascript·flutter
liliangcsdn9 分钟前
MySQL存储字节类数据的方案示例
java·前端·数据库
lbb 小魔仙10 分钟前
【Java】Spring Cloud 核心组件详解:Eureka、Ribbon、Feign 与 Hystrix
java·spring cloud·eureka
froginwe1111 分钟前
PHP 表单 - 验证邮件和URL
开发语言
予枫的编程笔记13 分钟前
从入门到精通:RabbitMQ全面解析与实战指南
java·开发语言·后端·rabbitmq·ruby