当前位置: 首页 > news >正文

线程的状态(java)

“苦?     何止是苦~~~~~”

本期内容来分享一下线程状态相关的知识哦!!!

对于进程来说,进程是有两种状态的。

一种是就绪状态:正在CPU上执行,或者随时可以去CPU上执行的。

另一种是阻塞状态:暂时不能去CPU上执行的。

那么对于线程来说,线程也是有状态的,而且更加详细的分了六中状态,那么接下来,我们一起来了分别了解这六中状态吧。

状态一:新建(New)

对于NEW状态来说,虽然当前创建出了一个thread对象,但是内核的线程还没有(还没有调用start方法),没有在内核中真正创建出thread对象的(只有在调用start()方法之后,内核才会真正创建出线程)。

状态二:可运行(RUNNABLE)

该状态表示线程正在CPU上运行,或者随时可以去CPU上运行。

状态三:阻塞(Blocked)

该状态是由线程之间由于锁竞争锁引起的阻塞状态。

public class Demo3 {private static Object locker1 = new Object();public static void main(String[] args) throws InterruptedException {Thread t1 = new Thread(() -> {synchronized(locker1) {while(true) {}}},"t1");Thread t2 = new Thread(() -> {synchronized (locker1) {System.out.println("------");}},"t2");t1.start();//确保t1执行sleep(100);t2.start();}
}

 这个我们可以借助idk下的一个工具进行查看。首先先找到jdk所在的路径,然后点到bin目录下面去,然后找到jconsole.exe,运行jconsole,(在运行jconsole时,确保你的程序在运行着),然后选择本地进程里面的,你所运行着的代码文件名。之后点击连接,然后点击不安全连接,之后再点到线程那一栏,找到你的线程的名称,点进去就可以看见它的信息了。

 

 

那么上面我们看到,线程t2是一个BLOCKED状态,t1线程正在运行着,就是RUNNABLE。

那么这个工具也是我们之后如果遇到线程之类的一些问题,可以利用这个工具来查看线程的状态,这样便于我们检查或者排除一些问题。

 状态四:等待(WAITING)

没有超时时间的等待,由join/wait等引起的一种状态。

状态五: 定时等待(TIME_WAITING)

有超时时间的等待,比如sleep或者join(带参数版本)

状态六:终止(TERMINATED)

当前Thread对象虽然还在,但是内核的线程已经销毁了(线程已经结束了)

 下面假设一堆人去银行办理业务为例,有一个更清晰的了解:

相信大家看见这个图之后,有了多一些了解,了解线程的这六种状态,对于后续的多线程编程会有一定帮助的。

"感谢你阅读这篇文章!如果你觉得这篇文章对你有帮助,请分享给你的朋友。同时,欢迎在下方留言,告诉我你的想法或提出任何问题。"

好了,本期节目就到这里了,我们下期节目不见不散。

相关文章:

线程的状态(java)

“苦? 何止是苦~~~~~” 本期内容来分享一下线程状态相关的知识哦!!! 对于进程来说,进程是有两种状态的。 一种是就绪状态:正在CPU上执行,或者随时可以去CPU上执行的。 另一种是阻塞状态&…...

Linux IO模型:IO多路复用

● 应用程序中同时处理多路输入输出流,若采用阻塞模式,得不到预期的目的; ● 若采用非阻塞模式,对多个输入进行轮询,但又太浪费CPU时间; ● 若设置多个进程/线程,分别处理一条数据通路&#xff…...

[数据集][目标检测]电梯内广告牌电动车检测数据集VOC+YOLO格式2787张4类别

数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):2787 标注数量(xml文件个数):2787 标注数量(txt文件个数):2787 标注…...

MATLAB下载详细教程及下载链接

欢迎大家进评论区交流经验 1. 准备工作 下载MATLAB安装包:首先,从MathWorks官方网站(http://www.mathworks.com)下载适合您操作系统的MATLAB安装包。确保选择与您的操作系统(如Windows、macOS或Linux)兼容的…...

利用发电量和气象数据分析来判断光伏仿真系统的准确性

随着光伏产业的迅速发展,光伏仿真系统通过集成气象数据分析、发电量分析、投融资分析及损耗估算等功能,为光伏项目的全生命周期管理提供了科学依据。 光伏仿真系统集成了气象数据分析、发电量预测、投融资分析、损耗估算及光伏设计等功能。其中&#xf…...

Model-based RL动态规划(基于价值、基于策略,泛化迭代)

白盒环境和黑盒环境 白盒环境:知道环境的状态转移函数P(s’|s)或P(s’|s,a)和奖励函数R(s)或R(s,a):   白盒环境下的学习相当于直接给出了有监督学习的数据分布(就是有了目标靶子),不需要采样了,直接最小…...

外接串口板,通过串口打开adb模式

一、依赖库 import subprocess import serial from serial.tools import list_ports import logging import time 二、代码 import subprocessimport serial from serial.tools import list_ports import logging import timedef openAdb(com):# com []# for i in list_por…...

ssm微信小程序校园失物招领论文源码调试讲解

第二章 开发技术与环境配置 以Java语言为开发工具,利用了当前先进的SSM框架,以MyEclipse10为系统开发工具,MySQL为后台数据库,开发的一个微信小程序校园失物招领。 2.1 Java语言简介 Java是由SUN公司推出,该公司于20…...

iOS 15推出后利用邮件打开率的7种方法

自从苹果在2021年底推出iOS 15以来,邮件打开率就一直是一个让人头疼的指标。 Klaviyo市场情报主管Mindy Regnell表示:“对于启用了Apple邮件隐私保护(MPP)的用户来说,苹果会打开这些邮件并预先下载内容到他们的服务器…...

以太网--TCP/IP协议(一)

概述 以太网是局域网的一种,其他的比如还有令牌环、FDDI。和局域网对应的就是广域网,如Internet,城域网等。 从网络层次看,局域网协议主要偏重于低层(业内一般把物理层、数据链路层归为低层)。以太网协议…...

LeetCode刷题:找到第K大的元素

本题其实就是考察排序算法,为了减低时间复杂度,所以采用堆排序 import java.security.Key; import java.util.Scanner;public class FindKtopElements {public static void main(String[] args) {Scanner scanner new Scanner(System.in);String lin…...

HTML页面配置高德地图,获取位置

HTML页面配置高德地图,获取位置 一、使用情况 1、之前项目用的前后端分离框架,所以用Vue接入的高德地图,自动搜索补全,是请求的后台返回的数据。 2、现在用单体项目,前端是Bootstrap,需要接高德地图&…...

HTTrack

--不破不立 HTTrack 是一个免费开源的网站离线浏览器。通过它可以将整个网站下载到本地的某个目录,包括 html、图片和脚本以及样式文件,并对其中的链接进行重构以便于在本地进行浏览。 1.官网下载地址:https://www.httrack.com/page/2/en/in…...

干货分享|分享一款微软出品的工作效率神器 PowerToys

工具介绍:Microsoft PowerToys 是一组实用工具,可帮助高级用户调整和简化其 Windows 体验,从而提高工作效率。 安装步骤:直接打开微软商店安装即可,并且可以保证下载到最新版本。 功能介绍: 高级粘贴 高级…...

神经网络的线性部分和非线性部分

神经网络的线性部分和非线性部分是其构成中的两个核心元素,它们共同决定了模型的能力和行为。让我们分别看一下这两部分: 1. 线性部分 线性部分通常是指神经网络中的加权和操作。这部分可以用以下形式表示: [ z W \cdot x b ] W 是权重…...

微信支付开发避坑指南

1 微信支付的坑 1.1 不能用前端传递过来的金额 订单的商品金额要从数据库获取,前端只传商品 id。 1.2 交易类型trade type字段不要传错 v2版API,不同交易类型,要调用的支付方式也不同。 1.3 二次签名 下单时,在拿到预支付交…...

Qt5.4.1连接odbc驱动操作达梦数据库

Qt5.4.1连接odbc驱动操作达梦数据库 1 环境介绍2 Qt5.4.1 安装2.1 图形化界面安装Qt5.4.12.2 配置Qt5.4.1 环境变量2.3 Qt5.4.1 生成 libqsqlodbc.so 并配置2.3.1 生成Makefile2.3.2 查看 libqsqlodbc.so 文件并配置 3 配置Qt测试用例4 达梦数据库学习使用列表 1 环境介绍 CPU…...

计算机组成原理(第一课)

计算机系统概述 1.发展史 摩尔定律:集成电路上可以容纳的晶体管数目在大约每经过18个月到24个月便会增加一倍 2.操作系统组成 存储程序程序控制 五个部分记住: 输入输出功能 I/O 记忆功能 访问 计算功能 计算 判断功能 判断 自我控制功能 自我控制…...

计算机网络练级第一级————认识网络

目录 网络搁哪? 网络的发展史(了解) 独立模式: 网络互联: 局域网时期: 广域网时期: 什么是协议 TCP/IP五层/四层模型 用官话来说: 我自己的话来说 第一层应用层&#xff1…...

Java基于微信小程序的家庭财务管理系统,附源码

博主介绍:✌Java徐师兄、7年大厂程序员经历。全网粉丝13w、csdn博客专家、掘金/华为云等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇🏻 不…...

用Python+Pandas搞定校园单车数据清洗:从‘200+’到精准分布表的保姆级教程

用PythonPandas搞定校园单车数据清洗:从‘200’到精准分布表的保姆级教程 校园单车数据清洗是数据分析实战中的经典场景。想象一下这样的情境:你拿到一份包含15个停车点、7个时间段的校园单车统计表,却发现数据里混杂着"200"这样的…...

Qwen3-14B中文大模型部署教程:token处理优化与生成质量调优

Qwen3-14B中文大模型部署教程:token处理优化与生成质量调优 1. 镜像概述与环境准备 Qwen3-14B是由通义千问团队开发的中文大语言模型,在各类自然语言处理任务中表现出色。本教程将详细介绍如何基于优化定制的私有部署镜像,快速搭建Qwen3-14…...

本日我的《宅男神探》为当当电子书【玄幻/惊悚】榜第六名

本日我的《宅男神探》为当当电子书【玄幻/惊悚】榜第六名! 地址http://e.dangdang.com/products/1901322470.html 杨赞是一名热爱推理的年轻人,平时喜欢用逻辑思维分析生活中的各类 问题。大学毕业后,他在母校附近开了一家小书店&#xff0…...

别再只记*#*#284#*#*了!揭秘小米手机日志抓取的‘售后模式’:CIT工具(*#*#6484#*#*)的隐藏用法与解读

解锁小米手机CIT工具的隐藏潜能:从硬件诊断到日志深度解析 在智能手机高度普及的今天,用户对设备问题的自主排查需求日益增长。小米手机内置的CIT工具(Customer Interface Test)作为售后服务的核心诊断利器,其实蕴藏着…...

Linux环境下Oracle 19C补丁安装保姆级教程:从下载到验证的完整流程

Linux环境下Oracle 19C补丁安装全流程实战指南 在数据库运维工作中,补丁管理是确保系统安全稳定运行的关键环节。Oracle 19C作为当前长期支持版本,其补丁安装过程虽然标准化程度高,但实际操作中仍存在不少容易踩坑的细节。本文将基于实战经验…...

IDM开源工具免费使用指南:从安装到高级配置的完整实践

IDM开源工具免费使用指南:从安装到高级配置的完整实践 【免费下载链接】IDM-Activation-Script IDM Activation & Trail Reset Script 项目地址: https://gitcode.com/gh_mirrors/id/IDM-Activation-Script Internet Download Manager(IDM&am…...

Z-Image-Turbo_Sugar脸部Lora问题排查:常见错误403 Forbidden与连接问题解决

Z-Image-Turbo_Sugar脸部Lora问题排查:常见错误403 Forbidden与连接问题解决 部署和调用AI模型服务,就像组装一台新电脑,硬件都插好了,但开机时屏幕就是不亮,或者提示你密码错误。最近不少朋友在折腾Z-Image-Turbo_Su…...

DAMO-YOLO在Vue前端项目中的实时检测应用

DAMO-YOLO在Vue前端项目中的实时检测应用 1. 引言 想象一下,你正在开发一个智能安防系统,需要在网页上实时检测监控视频中的人员和车辆。传统的方案是将视频流发送到服务器处理,但网络延迟和隐私问题让人头疼。有没有可能在用户的浏览器里直…...

如何一键搞定Switch游戏安装:Awoo Installer全面指南

如何一键搞定Switch游戏安装:Awoo Installer全面指南 【免费下载链接】Awoo-Installer A No-Bullshit NSP, NSZ, XCI, and XCZ Installer for Nintendo Switch 项目地址: https://gitcode.com/gh_mirrors/aw/Awoo-Installer 还在为Switch游戏安装的繁琐流程而…...

掌握LSLib:解锁《神界原罪》与《博德之门3》MOD制作的神器

掌握LSLib:解锁《神界原罪》与《博德之门3》MOD制作的神器 【免费下载链接】lslib Tools for manipulating Divinity Original Sin and Baldurs Gate 3 files 项目地址: https://gitcode.com/gh_mirrors/ls/lslib LSLib是一个功能强大的开源工具集&#xff0…...