(一)进程与线程

news2024/11/15 7:57:49

黑马程序员深入学习Java并发编程,JUC并发编程全套教程_哔哩哔哩_bilibili

一、进程与线程(P5)

1. 进程

(1)程序由指令和数据组成,但这些指令要运行,数据要读写,就必须将指令加载至  CPU,数据加载至内存。在指令运行过程中还需要用到磁盘、网络等设备。进程就是用来加载指令、管理内存、管理 IO
(2)当一个程序被运行,从磁盘加载这个程序的代码至内存,这时就开启了一个进程。
(3) 进程就可以视为程序的一个实例。 大部分程序可以同时运行多个实例进程(例如记事本、画图、浏览器等),也有的程序只能启动一个实例进程(例如网易云音乐、 360 安全卫士等)

2. 线程

(1)一个进程之内可以分为一到多个线程。
(2)一个线程就是一个指令流,将指令流中的一条条指令以一定的顺序交给 CPU 执行
(2)Java 中,线程作为最小调度单位,进程作为资源分配的最小单位。 在 windows 中进程是不活动的,只是作为线程的容器

3. 两者对比

(1)进程基本上相互独立的,而线程存在于进程内,是进程的一个子集
(2)进程拥有共享的资源,如内存空间等,供其内部的线程共享
(3)进程间通信较为复杂
        1️⃣同一台计算机的进程通信称为 IPC Inter-process communication
        2️⃣不同计算机之间的进程通信,需要通过网络,并遵守共同的协议,例如 HTTP
(4)线程通信相对简单,因为它们共享进程内的内存,一个例子是多个线程可以访问同一个共享变量
(5)线程更轻量,线程上下文切换成本一般上要比进程上下文切换低

二、并行与并发(P6)

单核 cpu 下,线程实际还是 串行执行 的。操作系统中有一个组件叫做任务调度器,将 cpu 的时间片(windows 下时间片最小约为 15 毫秒)分给不同的程序使用,只是由于 cpu 在线程间(时间片很短)的切换非常快,人类感觉是 同时运行的 。总结为一句话就是: 微观串行,宏观并行
一般会将这种 线程轮流使用 CPU 的做法称为 并发( concurrent )。

 

 

多核 cpu 下,每个 核( core 都可以调度运行线程,这时候线程可以是并行的。

 

 

举例:

(1)家庭主妇做饭、打扫卫生、给孩子喂奶,她一个人轮流交替做这多件事,这时就是并发
(2)家庭主妇雇了3个保姆,她们一起这些事,这时既有并发,也有并行(这时会产生竞争,例如锅只有一口,一个人用锅时,另一个人就得等待)
(3)雇了 3 个保姆,一个专做饭、一个专打扫卫生、一个专喂奶,互不干扰,这时是并行

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

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

相关文章

查阅标准文档以及effective c++作者文笔 真正搞懂万能引用和引用折叠以及完美转发

在解释任何东西以前 我都必须要强调 我们为什么需要这个东西 如果一个东西我们都是不需要的 那么我们解释他干嘛? 假定你彻底了解了一个东西 但是你并不知道你为什么需要他 他能解决什么问题 那你仅仅就只是背了一段理论性的东西 对于你本人的成长毫无用处 这里我们一次性讲懂…

sqli-labs/Less-58

这一关只有五次机会了 哎怎么办啊 那就只能找出每轮的共同点 这一关肯定不能一轮就完成所有的操作 至少得分个两轮进行操作才可以 前一轮进行注入类型的获取 后一轮进行各种爆破操作 分配好了 首先去判断一下注入类型是否属于数字型注入 输入如下 id1 and 12 回显如下 不属于…

Web大学生网页作业成品 基于HTML+CSS+JavaScript---个人介绍5页 带视频 带报告

⛵ 源码获取 文末联系 ✈ Web前端开发技术 描述 网页设计题材,DIVCSS 布局制作,HTMLCSS网页设计期末课程大作业 | ‍个人博客网站 | ‍个人主页介绍 | 个人简介 | 个人博客设计制作 | 等网站的设计与制作 | 大学生个人HTML网页设计作品 | HTML期末大学生网页设计作业…

大规模 Spring Cloud 微服务无损上下线探索与实践

作者:十眠 “从一次常见的发布说起,在云上某个系统应用发布时,重启阶段会导致较大数量的 OpenAPI、上游业务的请求响应时间明显增加甚至超时失败。随着业务的发展,用户数和调用数越来越多,该系统又一直保持一周发布二…

CAD特殊符号,你不一定会!!!

在CAD软件中,有时候会输入一些特殊的符号。比如在标明高低差的时候会输入“”号,在标明管子或者钢筋的直径为输入直径符号“”,为了标明角度值需要输入符号“”,那么这些符号怎么快速的绘制出来呢?我们一起用CAD梦想画…

专利解析|多维建模结合AI识别商品特征的方法

企业采购数字化转型的背景 国家“十四五”规划纲要提出要推进产业数字化转型,在供给侧结构性改革大背景下,国家出台了《企业数字化采购实施指南》,大大促进了企业采购电商化的发展。企业电商化采购能提高企业的采购效率、加快物流速度、降低…

m基于QPSK调制解调的无线图像传输matlab仿真,包括扩频解扩均衡等模块

目录 1.算法描述 2.仿真效果预览 3.MATLAB部分代码预览 4.完整MATLAB程序 1.算法描述 软件无线电在无线通信领域被称为是自模拟通信过渡到数字通信之后的又一次革命,在军用和民用方面都有着广阔的应用。它是一种新的无线通信技术,基于通用的可编程的…

【JAVA高级】——封装JDBC中的DaoUtils工具类(Object类型方法)

✅作者简介:热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏:JAVA开发者…

【文献整理】基于深度强化学习的知识图谱推理研究

目录DeepPath背景Core贡献几个要点:Training pipeline结论DIVINE背景Core贡献预备知识DIVINE推理过程模型文献整理基于综述论文:基于深度强化学习的知识推理研究进展综述_宋浩楠,赵刚,孙若莹 文中对知识图谱推理进行如下分类&…

SpringSecurity(十七)---OAuth2的运行机制(下)-实现一个简单的单点登录应用程序

一、前言 本章实现第一个使用带有Spring Boot和Spring Security 的OAuth2框架的应用程序。这个示例将展示如何将OAuth2应用到Spring Security中,并阐释你需要了解的一些接口的内容。顾名思义,单点登录(SSO)应用程序是通过授权服务…

如何使用一台电脑远程控制多台电脑

如今,远程控制软件已经广泛应用于我们的日常生活中。我们使用远程桌面软件远程控制另一台电脑来完成我们的工作和学习。在某些情况下,我们可能还需要同时远程控制多台电脑。例如: 您是一名培训师,正在寻找远程访问软件来同时远程…

[激光原理与应用-15]:《激光原理与技术》-1- 什么是激光,激光概述

目录 第1章 什么是激光 1.1 什么是激光 1.2激光在生活中应用 第2章 激光的特点 2.1 方向性好(平行性、直线性) 2.2 单色性好(颜色纯度高) 2.3 相干性比太阳光好 2.4 亮度高 2.5 能量极大 第3章 光产生的方式与核心概念 …

又爆冷了啦,日本半场逆转德国,怎么利用共享经济搅乱世界杯格局

近日世界杯热点逐渐升高,在23号晚上亚洲劲旅日本以2-1逆转多次捧得大力神杯的德国队,此前德国还从未输过日本队,因此德国再次吃到闭门羹,爆出了本届世界杯开赛以来既阿根廷惨败的又一大冷门。赛后,日本全国人民共同庆祝…

Web(二)html5基础-超链接的应用(知识训练和编程训练)

web知识训练_html5_超链接的应用 web编程训练_html5_超链接的应用 第1关_创建热字超链接 编程要求 在右侧编辑器中的Begin - End区域内补充代码,创建热字超链接,具体要求是: 1.链源文字为“听音乐找酷我”。 2.链宿地址为“https://www.ku…

FPGA——多路选择器实现按键控制LED灯的亮灭

文章目录前言一、多路选择器二、绘制模块框图及波形图三、Verilog HDL代码及测试代码四、创建工程五、仿真六、上板验证1、分配引脚2、烧录七、效果演示八、总结前言 软件:Quartus Prime Standard 18.0仿真软件:modelsim 10.5代码编写软件:V…

【虹科新品】 HK-MR430330绝对式光纤编码器介绍合集(下)

HK-MR430系列ZapFREE光纤位置传感器是一款外形小巧、具有13位单圈分辨率的旋转位置传感器。MR430设计新颖,开发了新的应用和OEM产品功能,这在以前的电子传感器是无法实现的。该传感器100%无源,不受EMI、RFI、微波和磁场的影响。创新型全绝缘设…

我参加NVIDIA Sky Hackathon 后端修改

文件架构 前面两个分别是执行语音识别和图片识别的代码templates 存放的是网页的模板, 前端将文件写在这里即可uploads 存放的是上传至后台的文件server.ipynb 用于启动 flash 服务器app.py 内是用 flash 写的 Python 后端install_tools.sh 是用于安装相关工具的 sh…

(十四)Spring之回顾代理模式

文章目录回顾代理模式动态代理常用技术CGLIB动态代理技术上一篇:(十三)Spring之JdbcTemplate 回顾代理模式 参考:代理模式Proxy Pattern 不用JDK的动态代理,手写JDK动态代理 动态代理常用技术 在程序运行阶段&…

CentOS 7 手动安装OpenStack

官网文档 因为之前已经在 Ubuntu 20.04 下完成了 Ubuntu 20.04 手动安装OpenStack ,最后,想要学习 OVN 的时候,发现 ubuntu 上的 OVN 安装很复杂,没有 TripleO/RDO based deployments ,所以,又在 CentOS 7…

项目开源!基于PaddleDetection打造实时人体姿态检测的多关节控制皮影机器人

本文已在【飞桨PaddlePaddle】公众号平台发布,详情请戳链接:项目开源!基于PaddleDetection打造实时人体姿态检测的多关节控制皮影机器人 皮影戏是一种以兽皮或纸板做成的人物剪影以表演故事的民间戏剧,皮影一般由头、躯干&#x…