网站首页 > 精选教程 正文
一、线程生命周期的几种状态
大致分为操作系统通用线程状态和编程语言封装后的线程状态。
操作系统通用线程状态:
初始状态
线程已被创建,但是还不被允许分配CPU执行,注意,这个创建其实是属于编程语言层面的,实际在操作系统里,真正的线程还没有被创建。
可运行状态
线程可以分配CPU执行,这时,操作系统中线程已经被创建成功了。
运行状态
操作系统会为处于可运行状态的线程分配CPU时间片,被CPU临幸后,处在可运行状态的线程就会变为运行状态。
休眠状态
如果处在运行的线程调用某个阻塞的API和等待某个条件可用,那么线程就会转换到休眠状态,注意:此时线程会释放CPU使用权,休眠的线程永远没有机会获得CPU使用权,只有当等待事情出现后,线程会从休眠状态转换到可运行状态。
终止状态
线程执行完或者出现异常(被interrupt那种不算)就会进入终止状态,正式走到生命的尽头,没有起死回生的机会。
Java语言线程状态:
1、New
2、Runnable
3、Blocked
4、Waiting
5、Timed_Waiting
6、Terminated
更详细图:
- 上一篇: Java线程调度&状态
- 下一篇: java线程池的状态
猜你喜欢
- 2024-11-18 Java并发编程线程状态转换
- 2024-11-18 Java面试必考问题:线程的生命周期
- 2024-11-18 Java 19 虚拟线程的状态变化,停驻与锁定
- 2024-11-18 Java线程生命周期详解?
- 2024-11-18 线程从创建最终消亡,要经历的若干状态,你了解其中的多少?
- 2024-11-18 java线程状态之WAITING(等待)
- 2024-11-18 浅谈Java线程:线程基础知识扫盲
- 2024-11-18 Java线程在各个状态下调用start方法会发生什么事情?
- 2024-11-18 为什么Java中线程没有Running状态
- 2024-11-18 阻塞模型将会使线程休眠,为什么 Java 线程状态却是 RUNNABLE?
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- nginx反向代理 (57)
- nginx日志 (56)
- nginx限制ip访问 (62)
- mac安装nginx (55)
- java和mysql (59)
- java中final (62)
- win10安装java (72)
- java启动参数 (64)
- java链表反转 (64)
- 字符串反转java (72)
- java逻辑运算符 (59)
- java 请求url (65)
- java信号量 (57)
- java定义枚举 (59)
- java字符串压缩 (56)
- java中的反射 (59)
- java 三维数组 (55)
- java插入排序 (68)
- java线程的状态 (62)
- java异步调用 (55)
- java中的异常处理 (62)
- java锁机制 (54)
- java静态内部类 (55)
- java怎么添加图片 (60)
- java 权限框架 (55)
本文暂时没有评论,来添加一个吧(●'◡'●)