2012-10-23 51 views
-2

如何在C++中创建一个将在特定路径上分配的队列?在磁盘上的特定位置创建一个队列C++

我在/ mnt/ram /上挂载了ramfs,它是一个RAM文件夹而不是磁盘,并且希望队列在那里,所以性能会比在磁盘上分配队列的性能要好。

队列为c的队列库++,那就是:

#include <queue> 
queue<string> requestsqueue; 

感谢

+1

你在说什么排队?因为'std :: deque'在内存中,而不是在任何地方的FS上。如果你担心性能,为什么要把任何东西放在FS上? –

+4

您需要接受更多答案才能帮助您。 –

+0

最新消息请求 – pm100

回答

3

如何创建C++中的队列中,将具体的路径上进行分配?

你不能。

队列为c的队列库++,那就是:

#include <queue> 
queue<string> requestsqueue; 

标准队列数据结构,std::queue,只存在于内存中。它与任何磁盘文件没有特别的关系,也不与文件系统中的任何路径有关。

0

您可以创建在/ mnt/RAM文件,就像你在其他地方创建文件。不同之处在于系统重新引导时会删除ramfs的内容。

您可能还想考虑使用tmpfs,因为它的大小可能会受到限制,因此您不会耗尽所有内存,并且由交换空间支持,因此如果暂时不使用,可以将其分页。

Here's a bit more info.

+0

这个答案是误导-std ::队列不会去磁盘,所以操纵任何挂载点的讨论不会真的有帮助 – pm100

+0

@ pm100这回答了被问到的问题。当我回答时,'std :: queue'不是问题的一部分。他没有指定用于队列的数据结构,并且特别询问了如何存储在RAM磁盘上还是分配到物理磁盘上。 –