【Linux】IPC进程间通信System V:并发编程实战指南(二)-三:???? System V 消息队列(了解)

时间:2024-11-06 13:46:02

1. 消息队列提供了进程间发送数据块的方法,每个数据块都有一个类型标识。
2. 消息队列基于消息,而管道则基于字节流。
3. 一个或多个进程可以向消息队列写入消息,而一个或多个进程可以从消息队列中读取消息。
在这里插入图片描述

认识消息队列相关的方法:

  • msgget获取消息队列
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/msg.h>

int msgget(key_t key, int msgflag);

在这里插入图片描述

  • ipcs -q查看消息队列的指令
  • ipcrm -q + id删除消息队列指令

在这里插入图片描述

  • msgctl消息队列删除的系统调用

在这里插入图片描述

在这里插入图片描述

  • msgsnd发送消息
  • msgrcv接收消息

在这里插入图片描述
在这里插入图片描述

由于消息具有类型,那么在接收的时候就可以接收指定类型的消息了。

???? 经过上述的学习,我们发现它的接口与共享内存非常的相似,因为它们都遵循System V标准。