如何保证Windows下异步写入文件的顺序?

时间:2015-08-03 12:31:38

标签: winapi asynchronous io

鉴于此伪代码:

  1. 打开异步访问文件
  2. Value1写入文件结尾位置
  3. Value2写入文件结尾,与2相同的帖子。
  4. 我可以确定Value1 总是Value2之前,我该如何避免竞争条件?

1 个答案:

答案 0 :(得分:6)

  

我可以确定Value1在Value2之前是-allay-,并且Value2不会覆盖Value1

没有。 Win32没有这样的保证。

通常的做法是通过指定在OVERLAPPED实例的字段中开始写入的位置来自己管理写入位置。 IE浏览器。你确保哪个写入首先完成无关紧要。

请参阅WriteFile文档中的同步和文件位置