
linux进程通讯
文章平均质量分 94
o倚楼听风雨o
人生如逆旅,我亦是行人。
展开
-
linux进程间通讯-共享内存
一、什么是共享内存 顾名思义,共享内存就是允许两个不相关的进程访问同一个逻辑内存。由于多个进程共享同一块内存区域,必然需要某种同步机制,互斥锁和信号量都可以。采用共享内存通信的一个显而易见的好处是效率高,因为进程可以直接读写内存,而不需要任何数据的拷贝。因此,采用共享内存的通信方式效率是非常高的。二、共享内存的分类 1) POSIX共享内存 posix提供原创 2016-10-11 18:51:32 · 1947 阅读 · 0 评论 -
linux进程间通讯-匿名管道
1、什么是匿名管道 管道是一种两个进程间进行单向通信的机制,常说的管道多是指无名管道,无名管道具有以下两个特点: 数据只能由一个进程流向另一个进程(其中一个读管道,一个写管道),如果要进行双工通信,需要建立两个管道。 匿名管道没有名字,因此,只能用于父子进程或者兄弟进程间通信,也就是说匿名管道只能用于具有亲缘关系的进程间通信。原创 2016-10-26 20:05:47 · 410 阅读 · 0 评论 -
linux进程间通讯-命名管道
1、什么是命名管道 命名管道也被称为FIFO文件,它是一种特殊类型的文件,它在文件系统中以文件名的形式存在,但是它的行为却和之前所讲的没有名字的管道(匿名管道)类似。 有名管道是有名有形的,为了使用这种管道Linux中设立了一个专门的特殊文件系统–管道文件,它存在于文件系统中,任何进程可以在任何时候通过有名管道的路径和文件来访问管道,但是在磁盘上的只是一个节点,而文件的数据则只存在原创 2016-10-26 20:50:15 · 411 阅读 · 0 评论 -
linux进程间通讯-消息队列
1、什么是消息队列 1.1 基本概念 消息队列提供了一种从一个进程向另一个进程发送一个数据块的方法。每个数据块都含有一个类型,接收进程可以选择地接收含有不同类型的数据结构。消息队列没有命名管道的同步和阻塞问题,但是消息队列与命名管道一样,每个数据块都有一个最大长度的限制。Linux用宏MSGMAX和MSGMNB来限制一条消息的最大长度和一个队列的最大长度。 每个消息队列都有一个队列原创 2016-10-27 17:36:11 · 505 阅读 · 0 评论