Java线程的六种状态

news/2024/7/8 1:04:44

前言:其实线程的状态在操作系统的PCB中就对其进行了描述,但是Java中觉得自带的状态并不是特别好,于是引入了线程在Java中的六种状态。

(1) NEW

安排了工作还未行动,即:Thread对象创建出来了,但是内核的PCB并未创建(还没有真正意义上的创建线程)

(2) TERMINATED

工作完成了,即:内核中的PCB销毁了,但是Thread对象还在(工作完成了)。

(3) RUNNABLE

就绪状态,可以分成 正在工作和即将开始工作,即正在CPU上运行 和 在就绪队列中排队

(4) TIMED_WAITING

一种阻塞状态,按照一定的时间,进行阻塞(sleep/join(time)),时间过后就不会再阻塞

(5) WAITING

和TIMED_WAITING 一样都是表示阻塞,但是其为特殊的阻塞状态(调用wait/join())

(6) BLOCKED

仍和 TIMED_WAITING,WAITING 一样都是表示阻塞,其表示的是 等待锁的时候进入的阻塞状态。

总体来说:上面的六种状态可大致分为:就绪+阻塞。

观察:NEW 、 RUNNABLE 、 TERMINATED 状态的转换

 观察:NEW 、 TIMED_WAITING 、 TERMINATED 状态的转换

 

 


http://lihuaxi.xjx100.cn/news/633553.html

相关文章

一文读懂Go Http Server原理

hello大家好呀,我是小楼,这是系列文《Go底层原理剖析》的第二篇,依旧是分析 Http 模块,话不多说,开始。从一个 Demo 入手 俗话说万事开头难,但用 Go 实现一个 Http Server 真不难,简单到什么程度?起一个 Server,并且能响应请求,算上包名、导入的依赖,甚至空行,也就…

Java多线程:线程的优先级 || 线程的中断 || 线程的分类 || 线程的定时器

Java多线程:线程的优先级 || 线程的中断 || 线程的分类 || 线程的定时器 每博一文案 正如村上春树所说:“当暴风雨过去,你不会记得自己是如何度过的,你甚至不确定,暴风雨是否真正结束了, 但你已不再是当初…

Java异常情况了解

作者:爱塔居的博客_CSDN博客-JavaSE,数据结构领域博主 专栏:JavaSE 作者介绍:大三学生,希望一起进步~ 文章目录 目录 文章目录 一、异常结构体系 二、异常分类 三、异常处理 3.1异常抛出 3.2 异常捕获 四.【面试题】 五、题目练习…

Consensus Algorithm -- Raft

The Raft Consensus Algorithm Go 实现:etcd/raft、dragonboat Rust 实现:TiKV C 实现 :nebula-graph-storage、 RethinkDB、logcabin 拜占庭将军问题 拜占庭将军问题(Byzantine failures),是由莱斯利兰…

ResT: An Efficient Transformer for Visual Recognition

文章地址: https://arxiv.org/pdf/2105.13677.pdf codeResT: An Efficient Transformer for Visual Recognition一、引言二、ResT一、Transformer模块的再思考二、Efficient Transformer Block三、Patch Embedding四、Positional Encoding五、整体架构三、实验一、分类二、目标…

国产linux操作系统——麒麟操作系统的来龙去脉

文章目录1、linux操作系统2、国产操作系统3、麒麟操作系统4、引用1、linux操作系统 目前市场主流的linux操作系统分类大致如此,国产操作系统的麒麟操作系统,底层比较杂,所以单独一类。 2、国产操作系统 排名日期截止到2022 这里提一下排名第…

CTK Plugin Framework插件框架学习--插件通信【事件监听】

文章目录一、前言二、事件三、类通信3.1、新建接收插件3.2、新建发送插件3.3、启用插件四、信号槽通信4.1、新建接收插件4.2、新建发送插件4.3、启用插件五、类通信和信号槽通信的区别六、插件依赖七、获取元数据一、前言 CTK框架中的事件监听,其实就是观察者模式&…

如何有效维护服务器

1、管理好服务器的账号密码账号和密码保护可以说是服务器系统的第一道防线,黑客对服务器的攻击都是首先对账号密码的截取和猜测开始的,黑客如果拿到账号密码进入了系统,相当于把整个系统的生杀大权都交给了他。因此,账号密码需要妥…