将资源(文件)加载到内存然后重用的最佳模式

时间:2015-07-28 03:39:04

标签: c# design-patterns memory-mapped-files npoi

我正在编写一个使用第三方库(NPOI)来读取/写入excel电子表格的应用程序的过程。我的应用程序需要将25个(或更多)电子表格加载到内存中,然后将值输入到每个电子表格中,然后从电子表格中的计算单元格中读取值。因为所有文件总共为40MB,所以将所有文件加载到内存中需要3-4秒,然后进行计算。

我想设计我的应用程序,以便在启动时将文件加载到内存中,然后在需要进行计算时仅引用内存中每个文件的文件流。我一直在看内存映射文件,但我不确定这对我有用。

有关在内存中管理这些文件的最佳方法的建议吗?

1 个答案:

答案 0 :(得分:0)

我喜欢使用Blocking集合使用Consumer / Producer模式。在加载和访问内存中的文件方面,我实现了以下解决方案,可以在这个帖子中找到:

MemoryMappedFile: Unable to find the specified file