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

Ami*_*mar 6 linux message-queue posix-api

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

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

Q2.如果是这样,那么在实施中它是否应该非常慢,因为它涉及HardDisk?


编辑:

我在"Linux编程接口 "一书中读到了这一点:

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

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

记住这些信息,现在有人可以评论第二个问题吗?(和/或第一个也有更多要添加的东西)

小智 6

以下链接可能会对第一个问题提供一些清晰度 http://man7.org/linux/man-pages/man7/mq_overview.7.html

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