簡體   English   中英

我可以以編程方式在內存中創建虛擬磁盤嗎?

[英]Can I create a virtual disk in memory programatically?

出於性能目的,我想寫入內存,外部應用程序可以讀取。 我無法將兩個應用程序鏈接在一起,所以我認為唯一的方法是編寫一個文件。 但是將它寫入物理磁盤還不夠快。 我想掛載虛擬分區,以便任何應用程序都可以訪問它。 怎么做?

您不需要創建虛擬磁盤以在Windows上的進程之間共享內存 - 您可以創建共享內存塊,然后多個進程可以訪問該內存。

請參閱此MSDN文章: 創建命名共享內存

您可以使用命名管道在應用程序之間傳輸數據。

我已經看到了.net的一些商業可用的ramdisk實現,但我現在似乎無法找到它。

另一種選擇可能是: C#訪問內存映射文件

我希望你能使用.NET 4.0 :)

.NET 4.0引入了內存映射文件。

Gunnar Peipman在以下鏈接中發表了很好的博文: .Net Framework 4.0:使用內存映射文件

在他的博客中,“ 當您需要進行內存數據操作並且數據結構很大時內存映射文件非常有用。對於大型內存數據,內存映射文件的性能最佳。它比MemoryStream快得多。和硬盤上的文件一樣, 內存映射文件可以在不同的程序之間共享 。“

他的博客也包含示例代碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM