进程间通信——消息队列

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了进程间通信——消息队列相关的知识,希望对你有一定的参考价值。

1. IPC标识符:

  每一个I P C目标都有一个唯一的I P C标识符。这里所指的I P C目标是指一个单独的消息队列、一个信号量集或者一个共享的内存段。系统内核使用此标识符在系统内核中指明 I P C目标。

2. IPC 关键字:

  想要获得唯一的标识符,则必须使用一个 I P C关键字。客户端进程和服务器端进程必须双方都同意此关键字。这是建立一个客户机/服务器框架的第一步。在System V IPC机制中,建立两端联系的路由方法是和I P C关键字直接相关的。通过在应用程序中设置关键字值,每一次使用的关键字都可以是相同的。一般情况下,可以使用f t o k ( )函数为客户端和服务器端产生关键字值。

3. 消息队列特点:

   消息队列是一个由系统内核负责存储和管理,并通过消息队列标识符引用的消息链表。相较于其它几种IPC机制,消息队列具有明显的优势:

  1)流浪控制:如果系统资源(内存)紧张或接收消息的进程来不及处理队列中的消息,则发送消息的进程会在内核的控制性进入休眠,待条件满足再被

          唤醒继续发送消息;

  2)面向记录:以一个消息为单位发送,一个消息一个消息的发送(接收),从结构上保持了消息的完整性;

  3)类型过滤:按消息的类型提取队列中的消息;

  4)天然同步:空队列不可读,满队列不可写,不发则不收。

 https://en.wikipedia.org/wiki/Message_queue

http://www.cnblogs.com/lpshou/p/3145651.html

以上是关于进程间通信——消息队列的主要内容,如果未能解决你的问题,请参考以下文章

Linux进程间通信——消息队列

进程间通信——消息队列

多进程编程之进程间通信-管道和消息队列

Linux C语言高级编程之使用消息队列实现进程间通信!重点内容!!!

Linux间进程通信--消息队列

Linux间进程通信--消息队列