linux 进程间通信方式总结

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/leishengsheng/article/details/84892601

对linux 进程通信的一点简单总结,主要包括 管道通信,还有 system v, posix 标准的 消息队列,信号量,共享内存方式。

基于管道的通信主要包括有名管道,和无名管道,所谓的有名管道,就是创建的时候会带有具体的标识,以便于确认对谁操作,而无名管道是创建没有名字的管道,在于用的时候是否需要去带有标识的操作

消息队列和信号量,共享内存都分为 system v 和 POSIX 两种标准,System V 起源较早,用的更为广泛,但是操作上复杂了一些,同时与 linux 系统本身的文件规则不一样,一些函数自然无法使用,POSIX 正是基于这些来得新定义,使用一些标准的 IO 接口也能使用。

消息队列更偏向于消息通信,本身在处理一些命令通知这样的功能时较为合适,而共享内存因为是直接映射内存,所以相对在进程间传输大量数据时具有较好的应用场合。

信号量主要用于同步操作,一方执行需要,另一方的结果,或者防止竞争同一空间,而产生的功能。其中 POSIX 标准的无名信号量使用较为简单,多数也都是使用这种。

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/leishengsheng/article/details/84892601
今日推荐