多线程并发编程-线程篇

news2024/12/23 10:21:43

线程基础

什么是线程?

  • 系统中的一个程序就是一个进程,每个进程中的最基本的执行单位,执行路径就是线程,线程是轻量化的进程。

什么是纤程?

  • 绿色线程,由用户自己进行管理的而不是系统进行管理的,我理解就是一个进程里面可以有多线程,一个线程里面有多进程(go里面叫协程)

什么是线程切换(上下文切换)?

  • 线程是按照CPU分的时间片进行执行的,如果线程A用完了CPU的时间片,那么CPU就会去执行另外的线程,那么线程A就要保存自己的执行状态以便在进行加载运行,保存以及再加载这个过程就叫线程切换

什么是多线程?

  • 简单理解就是在多CPU时代可以使用多线程并行来提高CPU的利用率,以及提高系统性能

为什么使用多线程

  • 从计算机底层来说:线程是轻量级的进程,是程序执行的最小单位,现成之间的切换和调度远远小于进程,另外多CPU意味着多线程可以并行执行,减少线程切换的成本
  • 从当代互联网来说:现在的系统动不动就要求百万级千万级的并发量,而多线程正式实现高并发的基础,利用好多线程机制可以大大提高系统整体的并发能力以及性能

创建线程的方式

  • 创建线程的五种方式

线程的生命周期

线程生命周期图

线程优雅中断

  • Thread.interrupt方法源码位置

  • Thread.interrupted()静态方法:查询当前线程是否被打断过,并重置打断标志源码位置翻译

  • isInterrupted方法:判断是否中断源码位置

  • 判断是否设置了中断标志位然后完成线程终端操作,上述的标志位只是进行设置而已,不会真正停止线程

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

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

相关文章

【教程类】IDEA 打包 jar 包

最近有点累,写点简单的图文教程的东西来缓解一下 一、你需要知道的基础概念 了解了基础概念之后,可以让我们学习的更快更好哦 ~~ 1. jar JAR(Java Archive)是Java中一种常用的归档文件格式,也可以被视为一种压缩文…

学生就业统计表案例

主要分为三块: 渲染业务新增业务删除业务 一、根据持久化数据渲染页面 核心步骤: 读取localstorage 本地数据 如果有数据则转换为对象放到变量里面一会使用它渲染页面如果没有则用默认空数组 []为了测试效果,咱们可以先把initData 存入本地存储看效果…

android存储1--device解锁前的流程

android版本:android-11.0.0_r21http://aospxref.com/android-11.0.0_r21/ 一、主用户primary user的创建 开机后kernel启动第一个用户态进程init,init进程fork出zygote进程。zygote又fork出system server进程。http://aospxref.com/android-11.0.0_r2…

垃圾收集器面试总结(一)

垃圾收集器 Serial 收集器(GC日志标识:DefNew) Serial(串行)收集器是最基本、历史最悠久的垃圾收集器了。大家看名字就知道这个收集器是一个单线程收集器了。 它的 “单线程” 的意义不仅仅意味着它只会使用一条垃圾…

[比赛简介]BirdCLEF-2023

比赛链接:BirdCLEF 2023 | Kaggle 比赛简介 鸟类是生物多样性变化的极好指标,因为它们具有高度流动性并且具有不同的栖息地要求。因此,物种组合和鸟类数量的变化可以表明恢复项目的成败。然而,经常在大面积地区进行传统的基于观…

你的车有通风座椅吗?新款奔驰S400升级原厂主副驾座椅通风

大家好,我是奔之升小志(bzs878),专注名车原厂升级,欢迎戳戳右上角“”号关注一下,持续为您带来精彩改装案例。 座椅通风有什么用?能改善身体与座椅接触面空气流通,达到不出汗的效果…

Linux网络服务----SSH

文章目录 一 、SSH服务1.1 什么是SSH服务器?1.2 常用的SSH软件的介绍 二 、ssh的运用2.1 存放ssh服务端的配置文件2.2 ssh在Linux中的密码登录2.3 利用ssh协议传输文件和获取文件2.4 sftp远程访问操作 三 、 ssh密钥登录操作四 、TCP_wapper的原理和运用4.1 TCP_wap…

IP-GUARD能否实现打印指定文件时需经过管理员审批后才能打印?

支持。先设置禁止打印文档的策略,然后设置相关审批流程,再给到客户端相应的申请权限: 1、在控制台-高级-打印控制策略中,给需要进行打印管控的客户端设置以下策略: 动作:禁止 2、在控制台-申请管理-桌面申请管理-审批流程管理中,添加申请类型为打印的审批流程,指定审批人…

通过ADB实现移动端h5项目无线真机调试(超级简单!)

前言 做移动端h5项目的时候,电脑浏览器调试样式和效果,可能和真机展示出来的效果有差距,比如有的手机开启了home键,比如文字大小等样式有偏差。虽然可以通过手机扫描网页二维码在手机上看样式,但是和真机还是有区别。…

每天一道大厂SQL题【Day23】华泰证券真题实战(五)

每天一道大厂SQL题【Day23】华泰证券真题实战(五) 大家好,我是Maynor。相信大家和我一样,都有一个大厂梦,作为一名资深大数据选手,深知SQL重要性,接下来我准备用100天时间,基于大数据岗面试中的经典SQL题&…

Veritas 与星辰天合的官方一体化方案来了

11>2,XSKY星辰天合联手 Veritas 贡献企业数据管理最佳实践。 近日,XSKY星辰天合以“科技联盟伙伴”身份亮相 2023 Veritas Solution Day,并宣布与 Veritas 推出联合解决方案。双方将携手为大型企业客户带来业界领先的数据存储与保…

CDH中的MySQL升级(RPM包方式)

CDH中的MySQL升级(RPM包方式) 1.下载官网的5.7中最新的版本,地址:MySQL 5.7.41 rpm下载地址 2.解压下载的tar包:tar -xvf mysql-5.7.41-1.el7.x86_64.rpm-bundle.tar 3.备份数据库 3.1 先停止MySQL服务:sy…

【测试开发】第一节.测开入门(附常考面试题)

文章目录 前言 一、什么是测试开发 1.1 常考面试题 二、软件测试的基础概念 2.1 需求 2.2 测试用例 3、BUG 三、生命周期 3.1 软件的生命周期 3.2 软件测试的生命周期 四、软件工程中的几种常见的开发模型 4.1 瀑布模型 4.2 螺旋模型 4.3 增量模型和迭代模型 4.4 敏捷…

【Windows10】〖问题〗Win10默认应用Web浏览器设置里出现两个Microsoft Edge图标,如何删掉空白图标?

〖问题〗Win10默认应用Web浏览器设置里出现两个Microsoft Edge图标,如何删掉空白图标? 问题 出现原因: 空白那个应该是旧版edge,可能是因为你曾经升级最新版Chromium的edge时,旧版本的edge并没有被系统清除干净所…

spring security (史上最全)

认证与授权(Authentication and Authorization) 一般意义来说的应用访问安全性,都是围绕认证(Authentication)和授权(Authorization)这两个核心概念来展开的。 即: 首先需要确定用…

计算机组成原理——第七章输入输出系统(下)

还君明珠双泪目,恨不相逢未嫁时 文章目录 前言7.3.2 中断的作用和原理7.3.3 多重中断7.3.4 程序中断方式7.3.5 DMA 方式 前言 本节除了对时间的计算考察比较多之外,其他的方面也有考察,同时中断的考点在操作系统中也有考察,机组里…

〖Python网络爬虫实战⑯〗- 网页解析利器parsel

订阅:新手可以订阅我的其他专栏。免费阶段订阅量1000 python项目实战 Python编程基础教程系列(零基础小白搬砖逆袭) 说明:本专栏持续更新中,目前专栏免费订阅,在转为付费专栏前订阅本专栏的,可以免费订阅付…

【hello Linux】进程控制

目录 1. 进程创建 2. 进程终止 3. 进程常见的退出方法 4. 进程等待 5. 进程等待的方法 6. 获取子进程status Linux🌷 1. 进程创建 fork 函数初识 在 linux 中 fork 函数是非常重要的函数,它可以从已存在进程中创建一个新进程。 新进程便是我们所说的子进…

从0到1搭建react 工程化前端项目

一、npm init 初始化包管理 1.在使用该命令之前,创建一个文件夹,例如:reactDemo2.使用在电脑终端命令行工具中,找到1创建的文件夹,并转到改文件夹指定目录;3.执行 npm init4.如图所示: 5.执行命…

云看消博会:政策、技术、玩家造就的数字化革命

配图来自Canva可画 会展作为展示地域经济、文化、技术等软硬实力的最佳舞台,在塑造城市品牌形象、加速地域经济发展中发挥着重要的促进作用。近几年,在数字经济浪潮的推动下,会展产业走上了网联化、数字化、智能化的道路,催生了不…