进程间通信
如果两个进程,想要知道对方在干嘛,或者进行协调运行,就需要进程间通信。下面介绍一下常见的进程间通信方式。
无名管道: 管道是一种半双工的通信方式。数据只能单向流动,而且只能在,具有亲缘关系的进程间使用。进程间的亲缘关系,通常指父子进程关系。
有名管道: 有名管道也是,半双工的通信方式,但是它允许无亲缘关系进程间的通信。
消息队列:消息队列是有消息的链表,存放在内核中,并由消息队列标识符标识。它克服了信号传递信息少,管道只能承载无格式字符流以及缓冲区大小受限等特点。
信号量: 是一个计数器,可以用来控制多个进程对共享内存的访问。它作为一种锁机制,防止某个进程,正在访问共享资源的时候,其他进程也访问该资源,造成资源抢占。
信号: 一种较复杂的通信方式,用于通知和接收进程某个事件的发生。
共享内存: 是映射一段能被其他进程所访问的内存,这段共享内存由一个进程创建,但多个进程都可以访问。
套接字: 是一种进程间通信机制,与其他通信机制不同的是,它可用于 不同机器间的进程通信。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
通信
+关注
关注
18文章
5706浏览量
134396 -
操作系统
+关注
关注
37文章
6284浏览量
121884 -
进程
+关注
关注
0文章
193浏览量
13876
发布评论请先 登录
相关推荐
Linux下进程间通信
华清远见嵌入式linux学习资料《Linux下进程间通信》,通过前面的学习,读者已经知道了进程是一个程序的一次执行,是系统资源分配的最小单元。这里所说的
发表于 09-04 10:07
“DDE是Windows早期进程间通信的重要方式,现在用得不多了”
最近看书,看到“DDE是Windows早期进程间通信的重要方式,现在用得不多了。虽然如此,Office、Matlab等应用程序,以及其他各种流行的组态软件,依然提供对DDE的支持。”朋
发表于 04-25 16:26
Linux现有的所有进程间IPC方式
在开始回答前,先简单概括性地说说Linux现有的所有进程间IPC方式:1. **管道:**在创建时分配一个page大小的内存,缓存区大小比较有限;2. 消息队列:信息复制两次,额外的CPU消耗
发表于 08-20 06:17
常用的进程间通信主要有哪几种方式
;常用的进程间通信主要有以下几种方式:1.消息队列;2. socket(本地socket和INETsocket)3.管道(有名管道和无名管道)4.信号5.共享内存以上5中
发表于 11-08 07:38
评论