【发布时间】:2016-05-09 01:06:53
【问题描述】:
我正在尝试创建二进制存储。文件一经添加,不可删除。所有文件都存储在同一个主文件 (storage.bin) 中。我将有一个表索引,其中包含成对的(键、startFilePos、fileLength)。
在开始编码之前,我正在努力寻找最佳解决方案。由于我对 .net 下的流不太熟悉,因此我想对它们提出一些建议。
多个流到同一个文件 (storage.bin) 是一种解决方案吗? 由于文件可以并行添加,一旦我开始接收文件,我 为其保留磁盘空间并开始写入特定的 文件到保留块,同时添加其他相同场景的文件 在其他线程上。
如果 (1) 是一个可行的解决方案,它是最优的吗?如果没有,可以 你指的是更好的吗?
为每个文件添加方案分配线程的最佳方式是什么?似乎 1 个线程/1 个流不是一个可行的解决方案。我在想的是有一个线程池,如果达到限制,让一个新文件等待一个可用。
【问题讨论】:
标签: c# .net multithreading thread-safety filestream