2012-06-20 21 views
1

我需要将从另一个进程发送给我的对象写入到我的磁盘上的多个文件。 每个对象都带有fileID(要写入的文件的名称)和数据块。将多个文件关联到同一个io完成端口,同时保持文件流顺序c#

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

我知道使用IOCP,每当它执行IO操作时,.Net如何使其按照我想要的方式工作?

回答

0

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

相关问题