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

Java线程概述 (一)线程介绍

文章目录

  • 🐒个人主页
  • 🏅JavaSE系列专栏
    • 📖前言:
      • 🪅什么是程序 、进程、线程?
      • 🪅线程的生命周期
      • 🪅多线程
      • 🪅守护者线程
      • 🪅线程并行与并发
      • 🪅死锁
      • 🪅线程异步与线程同步

🐒个人主页

🏅JavaSE系列专栏

📖前言:

本篇博客主要以介绍关于以线程为核心的知识点导读
拓展知识:操作系统的四大特征

🪅什么是程序 、进程、线程?

程序】:为完成特定任务,用某种语言编写的一组指令集合。
||ヽ(* ̄▽ ̄*)ノミ|Ю 其实就是一段静态的(没有运行的)代码~

关于进程概念】:你就理解为应用程序在内存中运行着的任务就行了。(从操作系统的角度上讲:进程是操作系统进行内存资源分配的最小单位)
||ヽ(* ̄▽ ̄*)ノミ|Ю 其实就是一段动态的运行代码~,在内存中操作系统为其创建PCB(进程控制器),使其成为进程实体

关于线程概念】:就是把内存里的任务进程在细化为一个一个的小任务供CPU处理器执行。(线程是进程最小的执行单位,是操作系统的CPU处理器进行任务调度的最小单位,)
||ヽ(* ̄▽ ̄*)ノミ|Ю 其实就是由于进程任务太大了,进程任务再进行细化为线程任务来上cpu执行~

🪅线程的生命周期

在这里插入图片描述

🪅多线程

概念】:一个程序内部,可以同时执行多个线程任务,这些任务都是独立的。
优点】:提高程序响应速度,提高CPU利用率,改善程序结构,将一些复杂的任务分为多个线程,独立运行。
【缺点】:由于是多个任务占用内存空间,所以要求CPU(硬件)的性能要高

🪅守护者线程

【概念】:顾名思义,就是这个线程它需要守护身边的线程,帮助这些线程应对突发情况,处理这些线程留下的缓存垃圾。
例子:Java的JVM虚拟机中有一个垃圾回收机制,这里就用到了守护线程来清理用户线程留下的内存垃圾
如果将一个线程设置为守护线程,只有当其他用户级线程都结束后,守护者线程自动结束,(必须在启动线程之前设置

new Thread().setDaemon(true);//设置为守护线程

🪅线程并行与并发

(在此链接处有相关介绍)
拓展知识:操作系统的四大特征

🍔并发概念: 指两个或多个事件同一时间间隔发生。宏观上感觉是同时发生的,但微观上是交替发生、依次发生的。 ‘买票,抢购,秒杀看似同时进行,但是他们都得有一个先来后到的关系’
常考易混淆概念·——·——并行

🎇并行概念:指两个或多个事件在同一时刻同时发生。

在这里插入图片描述

🪅死锁

是指有多个线程(>=2)会因为相互把持住对方所需要的资源而不放手,并且一直请求对方释放自己所需要的资源,而形成的一种僵持局面。
就像堵车一样,谁都不愿意让开地方先让对方通过,从而陷入了僵持
在这里插入图片描述

🪅线程异步与线程同步

线程异步】:就是线程会以一种不可预知的速度向前推进(其实就是代码执行可能不是一口气先把一个进程执行完,只执行了部分,就直接执行其他进程了),这可能会引发死锁问题
线程同步】:是为了解决‘’异步可能形成死锁问题‘’引入的,
是指多个线程之间进行数据交换时,需要保证数据的正确性和一致性。在多线程环境下,如果没有同步机制,就会出现数据竞争、死锁等问题。(其实就像你与其他人去抢购最后一张电影票,必须规定一个顺序,肯定有人抢不到票,我们给排了一个顺序,就是“排队”+“锁” )、(就像堵车,交警来了,给你规定了一个顺序,才把道路疏通了

常见的线程同步方法有:
synchronized关键字:Java中的synchronized关键字可以用于修饰方法或代码块,实现对临界区的互斥访问。
Lock类:Java中的Lock类提供了比synchronized更细粒度的锁机制,可以更加灵活地控制线程的并发访问。
volatile关键字:Java中的volatile关键字可以保证多个线程之间的可见性,即一个线程修改了变量的值,其他线程能够及时看到这个变化。

相关文章:

Java线程概述 (一)线程介绍

文章目录 🐒个人主页🏅JavaSE系列专栏📖前言:🪅什么是程序 、进程、线程?🪅线程的生命周期🪅多线程🪅守护者线程🪅线程并行与并发🪅死锁&#x1f…...

操作系统第三章——存储系统(下)

锦衣雪华玉颜色,回眸一笑天下倾 文章目录 3.2.1 虚拟内存的基本概念知识总览传统存储方式的特征,缺点局部性原理虚拟内存的定义如何实现虚拟内存技术知识总结 3.2.2 请求分页管理方式知识总览页表机制缺页中断机制地址变换机制知识回顾 3.2.3 页面置换算…...

初识结构体

目录 结构体的声明 结构体的基础知识 结构体的声明 结构体成员的类型 结构体变量的定义和初始化 定义 初始化 结构体成员的访问 结构体变量访问成员 结构体指针访问指向变量的成员 结构体传参 传地址 传结构体 结论 结构体的声明 结构体的基础知识 数组&#xff…...

协程并发下数据汇总:除了互斥锁,还有其他方式吗?

1. 简介 本文介绍了在并发编程中数据汇总的问题,并探讨了在并发环境下使用互斥锁和通道两种方式来保证数据安全性的方法。 首先,通过一个实例,描述了一个并发拉取数据并汇总的案例,并使用互斥锁来确保线程安全。然后&#xff0c…...

5、Ray-Actor模型和并发编程

5、Ray-Actor模型和并发编程 导航 1.简介和背景 2.Ray的基本概念和核心组件 3.分布式任务调度和依赖管理 4.对象存储和数据共享 5.Actor模型和并发编程 6.Ray的高级功能和扩展性 7.使用Ray构建分布式应用程序的案例研究 8.Ray社区和资源 9.核心框架介绍...

HNU-电路与电子学-小班2

第二次讨论 讨论题目: 1、电子秤的电桥电路可以分别用 1 个压控电阻、 2 个压控电阻、 3 个压控电阻、 4 个压控电阻实现吗?试写出每种实现的 U AB 输出表达式,并分析哪种实现电桥 电压的灵敏度(SV/ △ R )高。 …...

二分图匹配算法

匈牙利算法、Hopcroft-Karp算法和Kuhn-Munkres算法是三种常见的二分图匹配算法,它们在实现方式、时间复杂度和适用场景上有所差异。以下是它们的区别和优缺点: 匈牙利算法: 实现方式:匈牙利算法使用深度优先搜索(DFS)来寻找增广路…...

虹科技术 | 虹科EtherCAT增量编码器输入模块数据采集实操测试

1. 背景介绍 编码器是将信号或数据进行编制、转换为可用以通讯、传输和存储的信号形式的设备。编码器把角位移或直线位移转换成电信号,前者称为码盘,后者称为码尺。按照读出方式编码器可以分为接触式和非接触式两种;按照工作原理编码器可分为…...

2023.05.21 学习周报

文章目录 摘要文献阅读1.题目2.背景3.现存问题和解决方法4.方法4.1 Variational mode decomposition (VMD)4.2 Bidirectional LSTM 5.实验5.1 数据标准化5.2 评价指标5.3 实验过程及结果 6.结论和展望 优劣解距离法有限元1.求解一个简单的传热问题2.有限元如何实现 总结 摘要 …...

资深程序员深度体验ChatGPT一周发现竟然....

周一打卡上班,老板凑到我跟前:“小李啊,这周有个新需求交给你做一下,给我们的API管理平台新增一个智能Mock的功能...”。我条件反射般的差点脱口而出:“这个需求做不了..”。不过在千钧一发之间,我想起了最…...

带你深入了解Android Handler的用法

Android中,Handler是一类用于异步消息传递和线程之间通信的基础框架。一个Handler是一个线程的处理器,可以接收消息,并调度运行它们。使用Handler,应用程序可以将处理器与一个线程关联,以将来的时间运行任务。而使用Ha…...

生于零售的亚马逊云科技,如何加速中国跨境电商企业出海?

导读:跨境电商进入精耕细作的新阶段。 作为中国企业出海的重要领域之一,近几年跨境电商行业处在快速发展中。商务部数据显示,2022年中国跨境电商出口达1.55万亿,同比增长11.7%。2023年1-2月,跨境电商进出口总额同比增长…...

兄弟组件传值$on无法接收值

方法一 前提是必须引入EventBus,而且该方法一刷新数据就没了 1.组件A里,点击事件里面使用$emit传入数据 2.组件A里,mounted里面使用$on接收数据,并把数据赋给EventBus EventBus.$on(detail,(data) > { EventBus.senddata d…...

Spring事务及事务传播机制

一.事务的含义:多个操作封装在一起,要么同时执行成功,一旦有一个操作执行失败,那么全部执行失败。这里给大家举个例子:比如A给B转账50元,而B没有收到这50元,此时A转账B这个操作也需要进行回滚,恢复到A给B没…...

npm i 常见问题

需要注意的是,如果你在使用 NPM 安装包的过程中遇到了任何问题,可以尝试使用 --verbose 参数打印更详细的错误信息,以便更好地诊断问题。例如: npm install --verbose 1、vue老项目缺少编译环境安装依赖报错的问题 待下载的项目…...

Prometheus+Grafana监控系统

一、简介 1、Prometheus简介 官网:https://prometheus.io 项目代码:https://github.com/prometheus Prometheus(普罗米修斯)是一个最初在SoundCloud上构建的监控系统。自2012年成为社区开源项目,拥有非常活跃的开发人员…...

基于脉冲神经网络的物体检测

访问【WRITE-BUG数字空间】_[内附完整源码和文档] 研究的意义在于探索脉冲神经网络在目标检测上的应用,目前主流的脉冲神经网络训练算法有直接BP训练、STDP无监督训练和训练好的ANN的转化,虽然训练算法众多,但是SNN仍然没有一套成熟的训练算…...

Rust每日一练(Leetday0010) 子串下标、两数相除、串联子串

目录 28. 找出字符串中第一个匹配项的下标 Find-the-index-of-the-first-occurrence-in-a-string 🌟🌟 29. 两数相除 Divide Two Integers 🌟🌟 30. 串联所有单词的子串 Substring-with-concatenation-of-all-words &#x…...

As ccess 数据库与表的操作

1. Access 数据库设计的一般步骤 . 2. 基本概念:Access 数据库、表、记录、字段 . 3. 使用表设计器创建表 (1)字段名命名规则 不能空格开头、不能用.!()[]、最长 64 个字符 (2)字段类型:文本、数字、日期/时…...

自动化的测试工具

1, 自动化功能测试工具:QTP、selenium 2, 自动化性能测试功能:LoadRunner、jmeter 3, 自动化接口测试工具:Charles、soapUI、LoadRunner、jmeter、postman、 测试工具 4, 测试管理工…...

uniapp 对接腾讯云IM群组成员管理(增删改查)

UniApp 实战:腾讯云IM群组成员管理(增删改查) 一、前言 在社交类App开发中,群组成员管理是核心功能之一。本文将基于UniApp框架,结合腾讯云IM SDK,详细讲解如何实现群组成员的增删改查全流程。 权限校验…...

idea大量爆红问题解决

问题描述 在学习和工作中,idea是程序员不可缺少的一个工具,但是突然在有些时候就会出现大量爆红的问题,发现无法跳转,无论是关机重启或者是替换root都无法解决 就是如上所展示的问题,但是程序依然可以启动。 问题解决…...

DockerHub与私有镜像仓库在容器化中的应用与管理

哈喽,大家好,我是左手python! Docker Hub的应用与管理 Docker Hub的基本概念与使用方法 Docker Hub是Docker官方提供的一个公共镜像仓库,用户可以在其中找到各种操作系统、软件和应用的镜像。开发者可以通过Docker Hub轻松获取所…...

从深圳崛起的“机器之眼”:赴港乐动机器人的万亿赛道赶考路

进入2025年以来,尽管围绕人形机器人、具身智能等机器人赛道的质疑声不断,但全球市场热度依然高涨,入局者持续增加。 以国内市场为例,天眼查专业版数据显示,截至5月底,我国现存在业、存续状态的机器人相关企…...

React19源码系列之 事件插件系统

事件类别 事件类型 定义 文档 Event Event 接口表示在 EventTarget 上出现的事件。 Event - Web API | MDN UIEvent UIEvent 接口表示简单的用户界面事件。 UIEvent - Web API | MDN KeyboardEvent KeyboardEvent 对象描述了用户与键盘的交互。 KeyboardEvent - Web…...

TRS收益互换:跨境资本流动的金融创新工具与系统化解决方案

一、TRS收益互换的本质与业务逻辑 (一)概念解析 TRS(Total Return Swap)收益互换是一种金融衍生工具,指交易双方约定在未来一定期限内,基于特定资产或指数的表现进行现金流交换的协议。其核心特征包括&am…...

如何在最短时间内提升打ctf(web)的水平?

刚刚刷完2遍 bugku 的 web 题,前来答题。 每个人对刷题理解是不同,有的人是看了writeup就等于刷了,有的人是收藏了writeup就等于刷了,有的人是跟着writeup做了一遍就等于刷了,还有的人是独立思考做了一遍就等于刷了。…...

Java线上CPU飙高问题排查全指南

一、引言 在Java应用的线上运行环境中,CPU飙高是一个常见且棘手的性能问题。当系统出现CPU飙高时,通常会导致应用响应缓慢,甚至服务不可用,严重影响用户体验和业务运行。因此,掌握一套科学有效的CPU飙高问题排查方法&…...

【分享】推荐一些办公小工具

1、PDF 在线转换 https://smallpdf.com/cn/pdf-tools 推荐理由:大部分的转换软件需要收费,要么功能不齐全,而开会员又用不了几次浪费钱,借用别人的又不安全。 这个网站它不需要登录或下载安装。而且提供的免费功能就能满足日常…...

宇树科技,改名了!

提到国内具身智能和机器人领域的代表企业,那宇树科技(Unitree)必须名列其榜。 最近,宇树科技的一项新变动消息在业界引发了不少关注和讨论,即: 宇树向其合作伙伴发布了一封公司名称变更函称,因…...