可是大家分开.docVIP

  • 1
  • 0
  • 约 4页
  • 2015-07-29 发布于河南
  • 举报
Linux进程通信之消息队列 Linux继承了System V提供的3种进程间通信机制,它们是消息队列、信号量和共享内存。这3种进程间通信机制用于同一主机间两个进程信息的传递或同步。消息队列是消息的链式队列,就是把消息看作一个记录,并且这个记录具有特定的格式以及特定的优先级(用消息类型标示)。对消息队列有写权限的进程可以按照一定的规则添加新消息;对消息队列有读权限的进程则可以从消息队列中读出消息。 Linux用消息队列的方式实现进程间消息的传递。这种消息的发送方式是:发送方不必等待接收方检查它所收到的消息就可以继续工作下去,而接收方如果没有收到消息也不需等待。这种通信机制相对简单,但是应用程序使用起来就需要使用相对复杂的方式来应付了。新的消息总是放在队列的末尾,接收进程接收的时候并不总是从头来接收,可以从中间来接收,根据消息结构中的消息类型变量来确定接收的消息。 消息队列允许一个或多个进程向队列中写入消息,然后由一个或多个读进程读出。Linux系统维护一个消息队列的表,该表是msg_queue类型的结构体数组。数组中每个元素指向一个能完全描述消息队列的msqid_ds结构体。一旦一个新的消息队列被创建,则在系统内存中会为一个新的msqid_ds结构体分配空间并把它插入到msg_queue结构体数组中。 每个msqid_ ds结构体都包含ipc_penn类型的数据结构

文档评论(0)

1亿VIP精品文档

相关文档