5进程间的通信原理之消息队列.docxVIP

  • 12
  • 0
  • 约 10页
  • 2016-12-22 发布于重庆
  • 举报
进程间通信之消息队列原理讲解消息队列(也叫报文队列),它是System V3中进程间通信中的一种。消息队列就是一个消息的链表。我们可以把这个消息看成一个记录[固定的格式]。这个记录中包含了很多的信息,并且具有一定的格式和优先级。对消息队列有写权限的进程可以向中按照一定的规则添加新消息;对消息队列有读权限的进程则可以从消息队列中读走消息。,我们的操作系统提供了一个struct msg_ids结构体来记录消息队列的全局数据结构。 struct msqid_ds{ struct ipc_perm msg_perm; //被用来传递ipc操作权限信息 struct msg *msg_first; //指向消息队列第一个结点 struct msg *msg_last; //指向详细队列最后一个结点 ……;};我们可以将内核中某个特定的消息队列画成一个消息链表。如下图所示,假如一个具有三个消息的队列。长度分别为1byte,2byte和3byte,消息类型(type)为100,200,300.为那么这些消息的排序如下图。OK,了解了之后,我们来回顾一下,我们以下学习的IPC通信,都是通过一个key值来标识一个ID,那么消息队列的可key值保存在哪里呢?我们来看看我们的Ipc_perm结构。常用操作1创建消息队列 msgget()2发送消息队列 msgnd(),我们按照一定的类

文档评论(0)

1亿VIP精品文档

相关文档