线程的运行状态

article/2025/9/19 2:44:51

不管是多线程还是多进程,实际上都不太可能一直占用CPU资源,所有多线程的几种状态一定要掌握。

多线程的状态如下图:
在这里插入图片描述
所有的系统费资源是有限的,不管是多线程还是多进程都必须在执行一段时间后让出资源,交由其他的线程继续执行。

  • 1、创建过程:开发者定义好了相应的线程类对象(每一个Thread类的实例都表示一个线程对象);
  • 2、就绪状态:多线程的启动依靠的是start()方法,但是一定要记住当调用start()方法时所有的线程不是立即执行,而是进入一个等待的状态,等待CPU进行调度;
  • 3、执行状态:当CPU执行调度了某一个线程对象之后,该线程对象开始执行run()方法或call()方法,但是这并不意味着线程一执行就持续占用CPU资源,而是在一段时间之后(一个时间片的时间之后),该线程就需要暂停执行;
  • 4、阻塞状态:当某个线程不再执行时(中断、休眠或调度失效),那么该线程将进入到阻塞状态,如果此时线程没有执行完毕则由阻塞状态切换到就绪状态,重新等待CPU的执行调度。
  • 5、终止状态:如果多线程的执行体执行完毕或者线程被强制性的结束,那么该线程就将进入终止状态,终止状态不会再进入到就绪状态,即:该线程将不会被继续执行。

http://chatgpt.dhexx.cn/article/Q01T0kmS.shtml

相关文章

一条SQL语句统计总数及各状态数

需求:共有协议X份,已签XX份,待签X份 sql: select count(1) 总记录数,sum(case when XY_STATUS1 then 1 else 0 end)待签,sum(case when XY_STATUS2 then 1 else 0 end)已签 from YG.T_ZHGL 结果: count(1):所有数据&#xff…

线程的执行状态

1,创建: 当创建好线程对象的时候,也就是new Thread类或者是new Thread子类的时候。此时称为创建状态 2,就绪: 当线程对象调用了start()方法,开启线程了的时候,此时的线程已经开启了&…

Java线程线程的状态

1、线程的状态 线程有六种状态:分别如下 ① NEW(新建) 线程刚被创建,但是并未启动。还没调用start方法 ② Runnable(可运行) 线程可以在java虚拟机中运行的状态,可能正在运行自己代码,也可能没有,这取决于操作系统…

Java多线程批量执行sql

当遇到大sql批量导入时几十万上百万数据,使用plsql执行等都是非常的慢。因此开发一套自定义线程池处理sql: 1,线程代码 import java.util.ArrayList;/*** ClassName: com.ai.order.esb.yulang.tools.handle* Description: TODO* version: v1…

一条SQL语句是如何执行的?

大家六一儿童节好呀! 接下来的一段时间内,将带领大家一同探索MySQL的奥妙,加油吧!我们。 下面进入正题:一条SQL语句是如何进行的? 对于这个问题,我想将其分为两个问题来回答,分别是…

mysql 查看线程状态

show full PROCESSLIST 打开两个查询窗口,在A窗口执行一个查询时间较长的sql,在B窗口使用show full PROCESSLIST,可以看到A中执行的sql时间。 sleep表示没有操作,query表示正在查询。

线程状态总结

目录 文章目录 前言 一、线程状态图解 二、线程的几种状态 及线程过程 1.线程的几种状态 2.线程过程 总结 前言 总结了在华清远见这段时间所学的线程相关的知识点,文章记录了线程的几种状态及线程的过程 提示:以下是本篇文章正文内容,下面案…

线程状态

原文:https://mp.weixin.qq.com/s/GsxeFM7QWuR--Kbpb7At2w 人类为了利用好自己的时间,经常会同时做多件事情,比如上厕所时刷手机,开车时听新闻... 对于自己尚且如此,对计算机也不能闲着。为了最大化的提升机器利用率&…

一条SQL语句的执行过程

摘要 本文站在后端开发的角度,讲述一条SQL从客户端发送到MySQL服务器进行处理,并将结果返回给客户端的过程。这个过程中涉及的操作会在后面的文章中做详细的分析。 连接建立 我们通常使用ORM框架来生成SQL语句,在发送SQL语句给MySQL服务器…

多线程执行sql报错处理

pymysql多线程访问数据库报错:Packet sequence number wrong - got 7 expected 2 原文:https://www.cnblogs.com/heiao10duan/p/9373237.html参考:https://www.jianshu.com/p/60c8e0e440ea原因: 使用了多线程,多线程共…

MySQL - 一条 SQL 语句是如何执行的(SQL执行详解)

前言 天天和数据库打交道,一天能写上几十条 SQL 语句,但你知道我们的系统是如何和数据库交互的吗?MySQL 如何帮我们存储数据、又是如何帮我们管理事务?....是不是感觉真的除了写几个 「select * from dual」外基本脑子一片空白&a…

一、SQL语句执行过程

一、MySQL架构图 MySQL逻辑架构图,可以分为 Server 层和存储引擎层两部分。 Server 层包括连接器、查询缓存、分析器、优化器、执行器等,涵盖 MySQL 的大多数核心服务功能,以及所有的内置函数(如日期、时间、数学和加密函数等&…

线程状态详解

线程的生命周期 new的时候即为创建状态。 调用start即为启动了,启动线程后就变为就绪状态, 就绪之后等待CPU的调度,CPU调度完之后,就进入了运行状态。 运行状态运行sleep方法时会进入阻塞状态,进入阻塞状态有非常多…

一条 SQL 语句是如何执行的

1. select 语句执行过程 一条 select 语句的执行过程如上图所示 1、建立连接 连接器会校验你输入的用户名和密码是否正确,如果错误会返回提示,如果正确,连接器会查询当前用户对于的权限。连接器的作用就是校验用户权限 2、查询缓存 MySQL…

SQL线程状态分析:processlist

老哥哔哔叨 我们已经写了很多 MySQL 的文章了,比如索引优化、数据库锁、主从复制等等。今天在来和大家学习一个优化方法:show processlist——查看当前所有数据库连接的 session 状态。帮助我们查看每个 SQL 线程的运行状态,是运行正常呀&…

线程的状态

1、线程有5种状态:新建(new Thread)、就绪(runnable),运行(running)、阻塞(blocked)、结束(dead) 主要方法: setPriorit…

基于TCP和HTTP协议的RPC简单实现

一、RPC基本概念 1、基本概念 (1)RPC(Remote Procedure Call Protocol)——远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议; (2&…

RPC协议及常用框架

https://www.jianshu.com/p/8ba4b7b834aa RPC协议 RPC:远程过程调用,原则上来说系统间跨进程的调用都属于RPC范畴 RMI/HTTP/dubbo/Spring Cloud/thrift RPC框架如何实现分布式环境下的远程调用 在一个典型的RPC的使用场景中,包含了服务发现&#xf…

【RPC】RPC基础(二)RPC协议

文章目录 RPC核心原理1. RPC基础1.2 RPC协议为什么设计RPC协议如何设计RPC协议可扩展协议的设计思考 RPC核心原理 1. RPC基础 1.2 RPC协议 RPC协议和HTTP协议一样都属于应用层协议 协议的作用: ​ 协议就像是文章中的标点符号、段落格式等规定,有了…

Nodejs 之 RPC 协议简介

背景 随着 Nodejs 的兴起,越来越多的 Web 服务中间层被搭建起来。如 Node 服务端渲染,BFF(Backend For Frontend))层,而 RPC 是远端过程调用,经常用于 BFF 层。最近,我打算写一个中间层,用 Nodejs 调用 Go…