将资源(文件)加载到内存中然后重用的最佳模式
Best pattern for loading resources (files) into memory and then reuse
我正在编写一个应用程序,该应用程序使用第三方库 (NPOI) 将 read/write 数据传输到 excel 电子表格。我的应用程序需要将 25 个(或更多)电子表格加载到内存中,然后将值输入到每个电子表格中,然后从电子表格中的计算单元格中读取值。因为所有文件总共有40MB,所以需要3-4秒才能将它们全部加载到内存中,然后执行我的计算。
我想设计我的应用程序,使其在启动时将文件加载到内存中,然后仅在需要进行计算时才引用内存中每个文件的文件流。我一直在查看内存映射文件,但我不确定这是否适合我。
关于在内存中管理这些文件的最佳方法有什么建议吗?
我最终选择了使用阻塞集合的 Consumer/Producer 模式。在加载和访问内存中的文件方面,我实现了以下解决方案,可以在这个线程中找到:
我正在编写一个应用程序,该应用程序使用第三方库 (NPOI) 将 read/write 数据传输到 excel 电子表格。我的应用程序需要将 25 个(或更多)电子表格加载到内存中,然后将值输入到每个电子表格中,然后从电子表格中的计算单元格中读取值。因为所有文件总共有40MB,所以需要3-4秒才能将它们全部加载到内存中,然后执行我的计算。
我想设计我的应用程序,使其在启动时将文件加载到内存中,然后仅在需要进行计算时才引用内存中每个文件的文件流。我一直在查看内存映射文件,但我不确定这是否适合我。
关于在内存中管理这些文件的最佳方法有什么建议吗?
我最终选择了使用阻塞集合的 Consumer/Producer 模式。在加载和访问内存中的文件方面,我实现了以下解决方案,可以在这个线程中找到: