【发布时间】:2015-10-25 13:31:48
【问题描述】:
鉴于此伪代码:
- 打开文件进行异步访问
- 将
Value1写入文件末尾位置 - 将
Value2写入文件末尾,与 2 在同一线程中。
我能否确定Value1 将始终在Value2 之前,我怎样才能避免竞争条件?
【问题讨论】:
标签: winapi asynchronous io
鉴于此伪代码:
Value1 写入文件末尾位置Value2 写入文件末尾,与 2 在同一线程中。我能否确定Value1 将始终在Value2 之前,我怎样才能避免竞争条件?
【问题讨论】:
标签: winapi asynchronous io
我可以确定 Value1 将是 -allays- 在 Value2 之前,并且 Value2 不会覆盖 Value1
没有。 Win32 不做这样的保证。
通常的方法是自己管理写入位置,方法是在OVERLAPPED 实例的字段中指定开始写入的位置。 IE。您确保先完成哪个写入并不重要。
请参阅WriteFile 的文档中的同步和文件位置。
【讨论】: