我有两个HANDLE,它们是从同一个文件创建的,
在这种情况下,我想使用第一个HANDLE,
写入从1到100的偏移量使用第二把手从101到200,使用第一把手从201到300,
...
如何使此操作看起来像顺序写入,不浪费时间
将指针定位在HANDLE?
之间答案 0 :(得分:1)
您应该可以执行异步重叠IO。
要开始使用,请查看WriteFile win32 API调用。它讨论了如何将CreateFile与FLAG_FILE_OVERLAPPED标志一起使用。然后调用WriteFile并传入一个OVERLAPPED参数,该参数包含开始写入的偏移量和一个事件句柄,当IO完成时会发出信号。
另外,您可以调用WriteFileEx,它调用IO完成时提供的功能,而不是发出事件信号。
请注意,您应该写入4K(4096)字节的块,而不是100字节的块,因为这是Windows中页面文件的大小;它会大大加快你的IO。另请注意,这应该只需要一个文件句柄,而不是多个。