邮件队列内容存储在哪里?

时间:2013-02-27 15:29:13

标签: linux message-queue posix-api

在使用POSIX消息队列时,我注意到文件系统上创建了一些文件,名称我正在创建队列。我的问题:

Q1。消息队列是否将硬盘上的消息排队,而不是RAM?

Q2。如果是这样,那么实施起来不应该很慢,因为它涉及HardDisk吗?


编辑:

我在书The Linux Programming Interface中看到了这一点:

  

在Linux上,POSIX消息队列在虚拟中实现为i节点   文件系统,消息队列描述符和打开消息队列   描述实现为文件描述符和打开文件   描述,分别。但是,这些是实现细节   这是SUSv3不需要的,并且在其他UNIX上不成立   的实施方式。

即使它是VFS,它仍然存储在HardDisk上,对吗?

记住这些信息,现在有人可以评论第二个问题吗? (和/或如果还有更多要补充的话,也可以是第一个)

1 个答案:

答案 0 :(得分:6)

以下链接可能会对第一个问题有所了解 http://man7.org/linux/man-pages/man7/mq_overview.7.html

关于第二个问题,当然基于文件的队列将比基于内存的队列慢。但这可能不像一些随机文件访问操作那么慢,因为它是针对排队进行优化和实现的。