消息队列—Posix消息队列

1 Posix消息队列与System V消息队列的区别

消息队列均随内核持续;
与systemV消息队列区别:读取posix消息队列总是返回优先级最高的最早消息,systemV消息队列可以返回指定优先级的消息;当往一个空队列插入一个消息时,posix消息队列允许产生一个信号或启动一个线程,systemV消息队列无此机制
在这里插入图片描述

2 创建&打开

在这里插入图片描述

3 删除

删除消息队列与删除文件的机制一样,当所有打开着该消息队列的进程都关闭了该消息队列后,调用mq_unlink才会删除该队列
在这里插入图片描述
在这里插入图片描述

4 获取/设置属性

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

5 插入/取出消息

posix消息队列允许发送0字节长度的消息,mq_receive接收函数返回值为接收到的字节长度,所有该函数的返回值为0代表接收的0字节长的数据,返回-1表示出错
在这里插入图片描述
在这里插入图片描述

6 限制

在这里插入图片描述

7 异步通知机制

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

8 总结

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/chengcheng1024/article/details/111387431