进程间的通信方式

浏览量:1828
时间: 2024-01-31 11:34:23

管道 

管道是⼀种把两个进程之间的标准输入和标准输出连接起来的机制,可分为⽆名管道和有名管道,⽤于 具有亲缘关系进程间的通信。有名管道克服了没有名字的限制,因此允许⽆亲缘关系进程间的通信。

特点

①只能在有亲缘关系的进程之间进⾏通信,也就是在⽗⼦进程之间通信 ②单向通信,⼀个读端,⼀个写端。如果要双向通信就要建立两个管道 ③接收数据流,与数据格式⽆关 ④⼀般⽽⾔,进程退出时管道即被释放,因此管道的⽣命周期会随进程的关闭⽽消亡 ⑤同步互斥原则,内核会对管道操作进⾏同步和互斥 

⽆名管道参考 

有名管道读操作参考 

有名管道写操作参考


信号

信号机制是UNIX系统中最为古老的进程之间通信机制。它⽤于⼀个进程或多个进程之间传递异步信号, 来通知进程有某种事件发⽣,除了⽤于进程间通信外,使⽤信号还可以使进程发送信号给进程本⾝。信号参考 


消息队列 

消息队列是内核地址空间中的消息的链表,通过Linux内核在进程之间传递内容。消息顺序地发送到消息 队列中,并以⼏种不同的⽅式从队列中获取,每个消息队列可以⽤IPC标识符唯⼀的进⾏标识。不同的消 息队列之间是相互独立的,每个消息队列中的消息构成⼀个独立的链表。有写权限的进程可以对消息队 列添加消息,有读权限的进程可以对消息队列读取信息 

特点

①消息队列克服了信号承载信息量少,管道只能承载⽆格式字节流以及缓冲区⼤⼩受限的缺点。 消息队列 是基于消息的,⽽管道是基于字节流的,且消息队列的读取不⼀定先入先出 

②消息队列中每个消息的最⼤⻓度是有上限的,每个消息队列的总的字节数也是有上限的,系统 上消息队 列的总数也有⼀个上限

消息队列读参考 

消息队列写参考 


共享内存 

共享内存是在多个进程之间共享⼀块内存区域的⼀种进程间的通信⽅式,它是通过在多个进程之间对内 存段进⾏映射的⽅式来实现共享内存的,是进程间通信最快捷的⽅式,之所以最快,是因为共享内存⽅ 式的通信没有中间过程,⽽管道、消息队列等⽅式则是需要将数据通过中间机制进⾏转换。共享内存往 往与其他通信机制(如信号量)结合使⽤,来达到进程间的同步及互斥

特点

①共享内存就是允许两个不相关的进程访问同⼀个内存 ②共享内存是两个正在运⾏的进程之间共享和数据的最有效的⽅式 ③共享内存不提供任何互斥和同步机制,⼀般⽤信号量对临界资源进⾏保护 ④不同进程之间共享的内存通常安排为同⼀段物理内存 


共享内存读参考 

共享内存写参考


信号量 

信号量是⼀种计数器,⽤来控制对多个进程共享的资源所进⾏的访问,它们常常被⽤作⼀个锁机制,在 某个进程正在对特定资源进⾏操作时,信号量可以防⽌另⼀个进程去访问它。简单来说就是信号量是⼀ 个特殊的变量,程序对其访问都是原⼦操作,且只允许对它进⾏P(申请)V(释放)操作


socket

最为⼀般的进程间通信机制。可⽤于不同机器之间的不同进程之间的通信 

image.png

声明:本网站所收集的部分公开资料来源于互联网,转载的目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。仅供学习交流使用,不构成商业目的。版权归原作者所有,如果您发现网站上有侵犯您的知识产权的作品,请与我们取得联系,我们会及时删除。侵权投诉

上一篇

coap
相关推荐HOT
电子工程师简历怎么写?项目经历与技术栈怎么包装?求职面试策略

一句话答案电子工程师简历核心是「项目+量化结果+硬技能」,不要写「熟悉 C 语言」这种空话,要写「用 STM32+FreeRTOS 做了 XX 产品,功耗降到 ... 详情>>

2026-09-14 19:51:16
PCB金手指与板边连接器怎么设计?斜边倒角、镀金厚度与插拔可靠性怎么做?PCB工程师面试

PCB设计中高级技术基础题本文概述金手指是板卡与主板连接的板边接口,设计不当会影响插拔可靠性和寿命,是PCB面试的进阶题。面试官想听的不是“金手指就是镀金”,而... 详情>>

2026-09-10 21:39:19
面试时被问参加过培训班该怎么回答?PCB工程师面试技巧

分类:面试准备经验要求:初级难度:基础题型:面试应对📖 本文概述面试被问参加过培训班怎么回答?本文教你坦诚应对、重点展示学习成果,把培训经历转化为技术能力的有... 详情>>

2026-08-02 22:11:08
电子工程师简历项目经历怎么写?STAR法则怎么量化?简历面试技巧

一句话答案项目经历用 STAR 法则:Situation(背景)、Task(任务)、Action(行动)、Result(结果);结果要量化(效率提升 X%、成本... 详情>>

2026-10-06 11:53:48
射频衰减器怎么选?固定/可调、衰减值、功率容量、精度、驻波怎么看?

一句话答案射频衰减器用于降低信号功率、匹配阻抗、保护后级;固定衰减器选π型或T型电阻网络,精度±0.5dB,功率从1/4W到100W+;可调衰减器分步进(0.2... 详情>>

2026-10-11 15:25:10
开班信息