【发布时间】:2014-06-18 09:03:30
【问题描述】:
我正在处理 C# 项目,我想通过以下方式使用流从多个线程中读取单个文件:
- 文件在逻辑上分为固定大小的“块”。
- 每个线程都有自己的流,代表一个“块”。
我想使用 Stream 接口的问题,我想限制每个块的大小,以便相应的流在达到块大小时“结束”。
标准库中是否有可用的东西,或者我唯一的选择是编写自己的 Stream 实现?
【问题讨论】:
-
您可以使用
MemoryMappedFiles(“内存映射文件也可以在多个进程之间共享。”)。阅读:When to use memory-mapped files? -
根据使用情况,覆盖
BinaryReader或StreamReader可能更容易