繁体   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