Java中线程状态的转换
2021/8/1 14:06:13
本文主要是介绍Java中线程状态的转换,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
- 新建(New):创建后尚未启动。
- 可运行(Runnable):可能正在运行,也可能正在等待 CPU 时间片,包含了操作系统线程状态中的 Running 和 Ready。
- 阻塞(Blocked):等待获取一个排它锁,如果其他线程释放了锁就会结束此状态。
- 无限期等待(Waiting):等待其他线程显示的唤醒,否则不会被分配CPU时间片。
- 限期等待(Timed Waiting):无需等待其他线程显示地唤醒,在一定时间之后会被系统自动唤醒。调用 Thread.sleep() 方法使线程进入限期等待状态时,常常用 “使一个线程睡眠” 进行描述。调用 Object.wait() 方法使线程进入限期等待或者无限期等待时,常常用 “挂起一个线程” 进行描述。睡眠和挂起是用来描述行为,而阻塞和等待用来描述状态。阻塞和等待的区别在于,阻塞是被动的,它是在等待获取一个排它锁。而等待是主动的,通过调用 Thread().sleep() 和 Object.wait() 等方法进入。
- 死亡(Terminated):可以是线程结束任务之后自己结束,或者产生了异常而结束。
这篇关于Java中线程状态的转换的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南