1

我需要将从另一个进程发送给我的对象写入磁盘上的多个文件。每个对象都带有 fileID(要写入的文件的名称)和数据块。

我想使用 IO 完成端口 (IOCP) 来优化文件写入,使用并发异步 I/O,但我必须同步写入每个文件,例如我必须在写入时保持每个文件的块顺序磁盘但不是文件顺序。

我了解 .Net 在执行 IO 操作时使用 IOCP,但我如何让它按我想要的方式工作?

4

1 回答 1

0

这很容易做到,您只需要跟踪每个文件的写入位置并在写入每个块时更新它。您在结构中为异步写入指定写入偏移量,OVERLAPPED因此只要您跟踪您在每个文件中的位置,您就应该能够只写入块并更新每个文件的写入偏移量。

于 2012-06-20T07:55:37.677 回答