我可以通过编程方式在内存中创建虚拟磁盘吗?

时间:2009-07-11 15:34:12

标签: c# .net virtual-disk

出于性能目的,我想写入内存,外部应用程序可以读取。我无法将两个应用程序链接在一起,所以我认为唯一的方法是编写一个文件。但是将它写入物理磁盘还不够快。我想挂载虚拟分区,以便任何应用程序都可以访问它。怎么做?

4 个答案:

答案 0 :(得分:9)

您无需创建虚拟磁盘即可在Windows上的进程之间共享内存 - 您可以创建共享内存块,然后多个进程可以访问该内存。

请参阅此MSDN文章:Creating Named Shared Memory

答案 1 :(得分:3)

您可以使用命名管道在应用程序之间传输数据。

答案 2 :(得分:1)

我已经看到了.net的一些商用ramdisk实现,但我现在似乎无法找到它。

另一种选择可能是:C# accessing memory map file

答案 3 :(得分:1)

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

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

Gunnar Peipman在以下链接中发表了很好的博文:.Net Framework 4.0: Using memory mapped files

在他的博客中,“内存映射文件在您需要进行内存数据操作并且数据结构很大时非常有用。对于大型内存数据,内存映射文件的性能最佳。比MemoryStream快得多。和硬盘上的文件一样,内存映射文件可以在不同程序之间共享。“

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