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标准。