线程的五大状态
来源:互联网 发布:c语言乘方 编辑:程序博客网 时间:2024/05/22 01:42
新建状态---就绪状态---运行状态---堵塞状态---死亡状态
1.新建状态(new):当用new创建一个线程时,此线程并未开始运行,此时线程处于新建状态。
2.就绪状态(runnable):新创建的线程并不会自动运行,要调用start()方法才会执行线即启动了线程,start()方法建线程运行的系统资源,并调用run()方法,当start()方法返回后,线程就处于就绪状态。
3.运行状态(running):当线程获得CPU时间后,才进入真正的运行状态,真正开始执行run()方法。
4.堵塞状态(blocked):所谓堵塞状态就是正在运行的线程没有运行结果。线程在运行过程中会遇到各种的原因形成堵塞状态:
a.线程通过调用sleep()方法进入睡眠状态。
b.线程调用一个在I/O上被堵塞的操作,该操作在输入输出操作完成之前不会反回它的调用者。
c.线程在调用一个锁,而该锁正在被其他线程使用。
d.线程在等待某个触发条件。
5.死亡状态(dead):有两个原因会导致死亡状态:
a.run()方法正常退出而自然死亡
b.一个未捕获的异常终止了run()方法而线程死亡。
- 线程的五大状态
- 线程的五大状态
- 线程的五大状态
- 线程的五大状态
- 线程的五大状态
- 线程的五大状态
- 线程的五大状态
- 线程的五大状态
- 线程的五大状态
- 线程的五大状态
- 线程的五大状态
- 线程的五大状态
- 线程的五大状态
- 线程的五大状态
- 线程的五大状态
- 线程的五大状态
- 线程的五大状态
- java线程的五大状态
- 高级UI特效仿直播点赞效果—一个优美炫酷的点赞动画
- 20170911~0917周总结
- LeetCode 237. Delete Node in a Linked List
- C++中的static关键字
- [LeetCode]Generate Parentheses题解
- 线程的五大状态
- 轻院1075 聚餐人数统计
- Java SE的多态、接口
- 欧几里得算法
- python 爬多页贴吧的图片
- Guava 介绍
- vue2 in typescript2 (4)
- 夜间模式1
- WIN10 EDGE浏览器通知的关闭