[英]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.