【java学习—十五】线程的生命周期(4)

news2025/1/17 0:22:32

文章目录

  • 线程的生命周期
    • 1. 相关概念


线程的生命周期

1. 相关概念

线程的生命周期:线程从生到死的整个经历。

JDK 中用 Thread.State 枚举表示了线程的几种状态

要想实现多线程,必须在主线程中创建新的线程对象。

Java 语言使用 Thread 类及其子类的对象来表示线程,在它的一个完整的生命周期中通常要经历如下的五种状态
    新建: 当一个 Thread 类或其子类的对象被声明并创建时,新生的线程对象处于新建状态;
    就绪:处于新建状态的线程被 start() 后,将进入线程队列等待 CPU 时间片,此时它已具备了运行的条件;
    运行:当就绪的线程被调度并获得处理器资源时 , 便进入运行状态, run() 方法定义了线程的操作和功能;
    阻塞:在某种特殊情况下,被人为挂起或执行输入输出操作时,让出 CPU 并临时中止自己的执行,进入阻塞状态;(类似堵车,run方法的代码暂停执行、卡主run方法)
    死亡:线程完成了它的全部工作或线程被提前强制性地中止。
         (1)自然死亡:程序执行完毕或者程序发生了异常到程序结束;
         (2)强制死亡:执行.stop()方法、断电、杀掉进程。

线程的生命周期,可用如下流程图进行表示:

在这里插入图片描述

阻塞的几种方法:

阻塞解除阻塞
sleep()sleep()时间到
等待同步锁获取同步锁
wait()/join()notify()/notifyAll()
suspend()resume()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1215925.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Maven】基础快速入门

文章目录 1、Maven概述1.1、Maven是什么1.2、Maven的作用 2、下载安装Maven2.1、新版下载2.2、旧版下载2.3、安装2.4、配置环境变量2.5、配置阿里云镜像2.6、配置本地仓库 3、Maven基础概念3.1、坐标 4、Maven依赖管理4.1、依赖配置与依赖传递4.1.1、依赖传递冲突4.1.2、可选依…

2023外卖霸王餐程序、外系统霸王餐H5/APP程序源码|美团/饿了么霸王餐系统 粉丝裂变

微客云今后重点发展推广的项目。废话不多说,直接讲重点!分站体系主要包括三个角色:分站、运营商(服务商)、商家;商家入驻包括:电商商家/招商团长、本地商家、虚拟货品、供应链几个角色&#xff…

基于 Python中的深度学习:神经网络与卷积神经网络

当下,深度学习已经成为人工智能研究和应用领域的关键技术之一。作为一个开源的高级编程语言,Python提供了丰富的工具和库,为深度学习的研究和开发提供了便利。本文将深入探究Python中的深度学习,重点聚焦于神经网络与卷积神经网络…

从能用到好用,国产CPU不是你想象中的样子了?

最近看到了挺多关于国产CPU的评测视频,主要测试了鲲鹏、飞腾、海光、龙芯这四家。作为信创从业者,也想结合日常工作中接触到的国产CPU使用体验,发表些自己的看法。 我看到的评测,主要是采用SPEC CPU2006进行横向对比。SPEC CPU20…

rabbitMQ的扇出模式(fanout发布订阅)的生产者与消费者使用案例

扇出模式 fanout 发布订阅模式 生产者 生产者发送消息到交换机(logs),控制台输入消息作为生产者的消息发送 package com.esint.rabbitmq.work03;import com.esint.rabbitmq.RabbitMQUtils; import com.rabbitmq.client.Channel;import java.util.Scanne…

Java+Servlet+MySql后台的基于微信小程序的汽车租赁管理系统的设计与实现(附源码 论文 配置 讲解)

基于微信小程序的汽车租赁管理系统的设计与实现 一、引言二、相关技术三、系统设计四、系统实现后端实现前端实现 五、界面展示六、源码获取 一、引言 随着科技的快速发展和互联网的广泛应用,传统行业正在经历着前所未有的变革。汽车租赁行业是一种需要大量人力和物…

【C++杂货铺】再谈哈希算法:位图 | 布隆过滤器 | 哈希切分

文章目录 一、位图1.1 一道面试题1.2 位图的概念1.3 位图的模拟实现1.4 位图的应用1.4.1 给定100亿个整数,设计算法找到只出现一次的整数1.4.2 给两个文件,分别有100亿个整数,我们只有1G内存,如何找到两个文件交集?1.4…

【自定义列表头】vue el-table表格自定义列显示隐藏,多级表头自定义列显示隐藏,自由搭配版本和固定列版本【注释详细】

前言 功能介绍 最近遇到一个功能,需要的是把表格的列可以配置, 用户可以根据自己想要看的数据来改变表头列显示哪些隐藏哪些。 于是我做了两个版本。第一个版本是自由搭配的。 就是提前顶号所有的列,然后自己可以拖拽到想要位置顺序。 也可以…

云表|低代码软件开发“外挂”,新时代的黑科技

随着技术的日新月异,现代企业对于软件开发的需求愈加迫切,传统的软件开发方式已然无法满足快速迭代和创新的需求。在这种背景下,低代码开发平台如破茧而出,应运而生。这种平台通过提供可视化的开发工具和预构建的组件,…

不可思议!中国人民大学与加拿大女王大学金融硕士还能解决金融职场的倦怠期!

职业倦怠期是指在职业生涯中,个体对工作产生的一种疲惫、厌倦和失去兴趣的状态。在这个阶段,人们可能会感到无法集中精力、缺乏动力和创造力,工作效率下降,甚至出现情绪波动和身体健康问题。职业倦怠期是一种常见的心理现象&#…

【微信小程序开发】小程序的事件处理和交互逻辑(最详细)

前言 在微信小程序中,事件处理和交互逻辑是开发过程中非常重要的环节,它们直接影响到用户体验和功能实现。今天为大家继续详解小程序的事件处理和交互逻辑 文章目录 前言为什么要学习事件处理和交互逻辑?事件处理基础事件类型和触发条件事件绑…

具有mDNS功能的串口服务器

1.概述: 通过mDNS协议可以获得设备的ID、mac、IP、port等信息,方便计算机在同一个局域网内连接到具有该服务的模块。支持产品有串口服务器、串口转以太网模块、RS485串口转网口芯片等。 图 1 mDNS网络结构图 当具有mDNS的服务的设备接入网络的时候,首先…

【腾讯云 HAI域探秘】——自行搭建Stable Diffusion模型服务用于生成AI图片 | 自行搭建ChatGL M26BAI模型服务用于AI对话 | Pytorch2.0 AI框架视频处理

自行搭建Stable Diffusion模型服务用于生成AI图片 一、服务创建 1、服务地址: 高性能应用服务HAI 新品内测 2、等待审核(大概24小时) 二、创建服务 1、新建服务 2、选择AI模型:Stable Diffusion 高性能,效率更快。 3、等待创建(5~8分钟&a…

SpringBoot3自动配置流程及原理、SpringBootApplication注解详解

参考尚硅谷课程: https://www.yuque.com/leifengyang/springboot3/vznmdeb4kgn90vrx https://www.yuque.com/leifengyang/springboot3/lliphvul8b19pqxp 1.自动配置流程及原理 核心流程总结: 1.导入starter,就会导入autoconfigure包 2.autoconfigure 包里面 有一个…

[Mac软件]Infuse 7 PRO v7.6.3 一个强大的视频播放器(激活版)

使用Infuse制作您的视频内容,这是在iPhone、iPad、Apple TV和Mac上观看几乎任何格式的视频的好方法。无需转换文件!Infuse针对macOS 12进行了优化,具有强大的流媒体选项、Trakt同步以及对AirPlay和字幕的无与伦比的支持。华丽的界面。精确控制…

【Java全栈学习路线】最全的Java学习路线及知识清单,Java自学方向指引

前言 自学Java怎么学,找对方向很关键!在这里为大家分享最全的架构师级Java全栈学习路线及知识清单! 包含JavaSE基础,JavaWeb,SSM框架,Linux运维,分布式与微服务,大数据开发~ 本人研究…

4-flask-cbv源码、Jinja2模板、请求响应、flask中的session、flask项目参考

1 flask中cbv源码 2 Jinja2模板 3 请求响应 4 flask中的session 5 flask项目参考 1 flask中cbv源码 ***flask的官网文档:***https://flask.palletsprojects.com/en/3.0.x/views/1 cbv源码执行流程1 请求来了,路由匹配成功---》执行ItemAPI.as_view(item…

Leetcode hot100之“结合递归+二分“题目详解

1 总结 题目 215 (“数组中的第 K 个最大元素”) 和题目 4 (“寻找两个正序数组的中位数”) 之间的联系主要体现在它们都涉及到寻找一个有序集合中的第 k 个元素的问题。尽管这两个问题的具体应用场景和所处理的数据结构不同,它们共享相似的算法思想和技术。 题目…

系列十、堆参数调优

一、堆内存调优参数 -Xms堆空间的最小值,默认为物理内存的1/64-Xmx堆空间的最大值,默认为物理内存的1/4-XX:PrintGCDetails输出详细的GC处理日志 二、获取堆内存的默认物理内存 /*** Author : 一叶浮萍归大海* Date: 2023/11/16 14:50* Description: 获…

基于springboot的医护人员排班系统 全套代码 全套文档

基于springboot的医护人员排班系统,springboot vue mysql (毕业论文10411字以上,共27页,程序代码,MySQL数据库) 代码下载链接:https://pan.baidu.com/s/177HdCGtTvqiHP4O7qWAgxA?pwd0jlf 提取码:0jlf 【运行环境】 IDEA, JDK1.8, Mysql, Node, Vue …