2012-10-23 54 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磁盤上還是分配到物理磁盤上。 –