26 进程通信

是什么

两个或者多个进程实现数据层面的交互,因为进程独立性的存在,导致通信的成本比较高

目的

数据传输:一个进程需要将它的数据发送给另一个进程
资源共享:多个进程之间共享同样的资源
通知事件:一个进程需要向另一个或一组进程发送消息,通知发生了某种事件(如进程终止时通知父进程)
进程控制:有些进程希望完全控制另一个进程的执行(如debug进程),此时控制进程希望拦截另一个进程的所有陷入和异常,并能够及时知道状态改变

怎么办

进程间通信的本质:必须让不同的进程看到同一份“资源”
资源是特定形式的内存空间
这个资源一般是操作系统提供,如果由某一个进程提供会破坏独立性
进程访问这个空间进行通信,本质是访问操作系统,进程代表用户,资源从创建,使用,释放,系统调用接口。一般操作系统会有一个独立的通信模块,隶属于文件系统,IPC通信模块定址标准
基于文件级别的通信方式-----管道

发展

管道
System V进程间通信
POSIX进程间通信

分类

管道

  • 匿名管道
  • 命名管道

System V IPC

  • 消息队列
  • 共享内存
  • 信号量

POSIX IPC

  • 消息队列
  • 共享内存
  • 信号量
  • 互斥量
  • 条件变量
  • 读写锁

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

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

相关文章

安装ps提示MSVCP140.dll丢失怎么办,推荐几种有效的解决方法

在成功完成Adobe Photoshop(简称PS)软件的安装过程之后,当用户试图启动并运行该程序时,系统却弹出了一个令人困扰的错误提示信息,明确指出:“无法找到MSVCP140.dll”这一关键文件。这意味着尽管PS软件已经成…

redmibook 14 2020 安装 ubuntu

1. 参考博客 # Ubuntu20.10系统安装 -- 小米redmibook pro14 https://zhuanlan.zhihu.com/p/616543561# ubuntu18.04 wifi 问题 https://blog.csdn.net/u012748494/article/details/105421656/# 笔记本电脑安装了Ubuntu系统设置关盖/合盖不挂起/不睡眠 https://blog.csdn.net/…

权威Scrum敏捷开发企业级实训/敏捷开发培训课程

课程简介 Scrum是目前运用最为广泛的敏捷开发方法,是一个轻量级的项目管理和产品研发管理框架。 这是一个两天的实训课程,面向研发管理者、项目经理、产品经理、研发团队等,旨在帮助学员全面系统地学习Scrum和敏捷开发, 帮助企业快速启动敏…

Ps基础学习笔记

Ps基础学习笔记 什么是Ps? Ps,全称Adobe Photoshop,是一款由Adobe公司开发的图像处理软件,广泛应用于图像编辑、图像合成、图像修饰等领域。 Ps的界面介绍 Ps的界面主要分为菜单栏、工具栏、选项栏、面板和工作区组成。菜单栏包含…

赚钱游戏 2.0.2 版

没有c编辑器的可以获取资源来 #include <iostream> #include <string> #include <windows.h> #include <conio.h> #include <fstream> #include <ctime> #include <time.h> #include <stdio.h> #include <cstring> #in…

【机器学习】科学库使用第5篇:Matplotlib,学习目标【附代码文档】

机器学习&#xff08;科学计算库&#xff09;完整教程&#xff08;附代码资料&#xff09;主要内容讲述&#xff1a;机器学习&#xff08;常用科学计算库的使用&#xff09;基础定位、目标&#xff0c;机器学习概述定位,目标,学习目标,学习目标,1 人工智能应用场景,2 人工智能小…

【网络设备巡检命令】--思科、华为、H3C、锐捷

【网络设备巡检命令】--思科、华为、H3C、锐捷 一、思科二、华为三、H3C四、锐捷 &#x1f496;The Begin&#x1f496;点点关注&#xff0c;收藏不迷路&#x1f496; 一、思科 1、查看系统信息&#xff1a; show version2、查看时间&#xff1a; show clock3、查看序列号&a…

Golang教程五(异常处理,泛型,文件操作)

目录 一、异常处理 错误处理与异常区分 Panic 与 Recover 使用原则 二、泛型 泛型函数 泛型结构体 泛型切片 泛型Map 三、文件操作 1.基础io Reader interface Writer interface Seek interface Close interface 文件打开模块 1.文件读取 一次性读取 获取当前…

C++:异常处理

异常处理中对象参数与引用参数的选择 User&#xff1a; catch()中的参数如果使用基类的引用&#xff0c;是不是相当于声明了一个引用&#xff0c;它是基类类型的&#xff0c;catch 到 throw的抛出的对象之后&#xff0c;就相当于这个基类引用指向了抛出的对象&#xff1f; C…

解决FLINK CDC监控oracle报Failed to parse insert DML问题

更多优秀文章,请扫码关注个人微信公众号或搜索“程序猿小杨”添加。 一、错误展现: Caused by: io.debezium.connector.oracle.logminer.parser.DmlParserException: Failed to parse insert DML: insert into "HIS_DATA". at io.debezium.connector.oracle.logm…

Nginx内存池相关源码剖析(三)小块内存分配逻辑

在Nginx中&#xff0c;小块内存通常指的是那些大小相对较小、分配和释放频率较高的内存块。这些内存块由于数量众多、管理复杂&#xff0c;因此需要使用一种高效的内存管理机制来减少内存管理的开销和内存碎片的产生。 Nginx内存池通过一种预分配和复用的方式来管理小块内存。当…

觉飞、希亦、Daily neaty内衣洗衣机好用吗?爆款产品性能全面测评!

近几年来小家电产品中&#xff0c;内衣洗衣机的讨论热度无疑是最大的&#xff0c;功能多、操作方便&#xff0c;用内衣洗衣机来清洗内衣裤会更加卫生和安全&#xff0c;能满足了消费者的多种需求。不过尽管市面上的内衣洗衣机品牌很多、挑选空间大&#xff0c;也不是所有产品都…

RT-thread-线程间通讯3-事件集

事件集 事件集也是线程间同步的机制之一,一个事件集可以包含多个事件,利用事件集可以完成一对多,多对多的线程间同步。 一个线程和多个事件的关系可设置为: 其中任意一个事件唤醒 线程,或几个事件都到达后唤醒线程,多个事件集合可以用一个32bit无符号整型变量来表示,…

4.8-4.12算法刷题笔记

刷题 堆1. 堆排序2. 模拟堆 哈希表3. 模拟散列表4. 字符串哈希 DFS5. 排列数字6. n-皇后问题 2. BFS&#xff08;队列&#xff09;7. 字母迷宫8. 滑动谜题 3. 树与图的dfs9. 树的重心 4. 树与图的bfs(最短路)10. 图中点的层次( 无权最短路 ) 5. 拓扑排序11. 课程表 6. 朴素dijk…

人工智能时代的图像识别:机遇与挑战并存

人工智能&#xff08;AI&#xff09;时代为图像识别领域带来了前所未有的机遇&#xff0c;同时也伴随着一系列挑战。这一领域的发展不仅深刻影响了科技、医疗、教育、娱乐等多个行业&#xff0c;还在一定程度上改变了人们的生活方式。 机遇&#xff1a; 技术突破与创新&#…

prometheus.yaml

目录 一、说明1、全局配置 global&#xff1a;2、告警配置 alerting&#xff1a;3、规则文件配置 rule_files&#xff1a;4、拉取配置 scrape_configs&#xff1a;5、远程读写配置 remote_read/remote_write&#xff1a; 二、简单配置示例&#xff1a; 一、说明 prometheus的配…

GoLang核心知识点

目录 1. 系统中断信号注册 2. 通道接收多个返回值 3. go context 4. reflect 5. json字符串对象转换 1. 系统中断信号注册 interrupt : make(chan os.Signal) // 可以控制强制终止的信号 // 如果系统有中断信号&#xff0c;发送给r.interrupt signal.Notify(interrupt, os…

docker (CentOS,ubuntu)安装及常用命令

Docker和虚拟机一样&#xff0c;都拥有环境隔离的能力&#xff0c;但它比虚拟机更加轻量级&#xff0c;可以使资源更大化地得到应用 Client&#xff08;Docker客户端&#xff09;&#xff1a;是Docker的用户界面&#xff0c;可以接受用户命令&#xff08;docker build&#xff…

纯前端umi项目部署页面自动刷新

背景 在用户正在访问单页面网站的情况下&#xff0c;突然发布了新的版本。而由于单页面中路由特性&#xff0c;或浏览器缓存的原因&#xff0c;并不会随着路由变化而重新加载前端资源&#xff0c;此时用户浏览器所运行的脚本&#xff0c;并非是最新的代码&#xff0c;从而可能…

img标签图片未加载完成占位图

通过Css控制&#xff0c;实现加载接口下发或者网络图片时&#xff0c;未加载完成前&#xff0c;先加载本地一张占位图&#xff0c;记载完成显示接口下发的图或者网络图。 实现方式&#xff1a;通过在img标签的after伪元素上添加一张占位图&#xff0c;并且img标签都设置为posi…