java 线程的生命周期详解
作者:lqh 时间:2023-05-28 08:32:25
一个线程的生命周期:
新建状态:
使用 new 关键字和 Thread 类或其子类建立一个线程对象后,该线程对象就处于新建状态。它保持这个状态直到程序 start() 这个线程。
就绪状态:
当线程对象调用了start()方法之后,该线程就进入就绪状态。就绪状态的线程处于就绪队列中,要等待JVM里线程调度器的调度。
运行状态:
如果就绪状态的线程获取 CPU 资源,就可以执行 run(),此时线程便处于运行状态。处于运行状态的线程最为复杂,它可以变为阻塞状态、就绪状态和死亡状态。
阻塞状态:
如果一个线程执行了sleep(睡眠)、suspend(挂起)等方法,失去所占用资源之后,该线程就从运行状态进入阻塞状态。在睡眠时间已到或获得设备资源后可以重新进入就绪状态。
死亡状态:
一个运行状态的线程完成任务或者其他终止条件发生时,该线程就切换到终止状态。
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
来源:http://blog.csdn.net/duruiqi_fx/article/details/52177753
标签:java,线程,生命周期
0
投稿
猜你喜欢
深入学习Java单元测试(Junit+Mock+代码覆盖率)
2021-06-17 00:39:13
Spring自动装配Bean实现过程详解
2023-10-31 18:35:21
Android使用VideoView出现无法播放此视频问题的解决方法
2023-01-16 18:01:41
Java递归实现斐波那契数列
2022-05-03 19:00:11
使用CursorLoader异步加载数据
2021-10-06 12:17:31
C语言实现四窗口聊天
2021-12-28 01:02:12
SpringBoot使用JWT实现登录验证的方法示例
2023-09-19 19:12:10
教你怎么用SpringBoot+Mybati-Plus快速搭建代码
2023-08-07 12:42:10
Intellij搭建springmvc常见问题解决方案
2023-07-23 12:53:29
WebFlux 服务编排使用优势详解
2021-11-27 07:48:45
Struts2实现文件上传功能实例解析
2023-11-04 04:56:13
实例讲解Java读取一般文本文件和word文档的方法
2023-11-13 05:09:53
SpringBoot项目如何打war包问题详解
2023-06-07 08:33:47
java静态工具类注入service出现NullPointerException异常处理
2021-11-28 09:59:11
C#手动操作DataGridView使用各种数据源填充表格实例
2023-07-20 08:30:31
Spring实例化bean的方式代码详解
2022-04-04 08:46:09
Java使用GZIP压缩导致HTTP请求返回乱码问题解决
2022-04-12 07:31:09
MybatisPlus实现简单增删改查功能
2021-12-27 06:25:21
Android 调用设备已有的相机应用详情
2022-12-20 01:07:21
一文教会你使用jmap和MAT进行堆内存溢出分析
2023-11-06 08:01:57