2013-02-23 55 views
1

处理对StorageFile对象的多线程文件访问的正确方法是什么?Metro StorageFile多线程文件日志记录

创建StorageFile后,我使用FileIO.AppendTextAsync写入它。

这可行,但只要多个线程调用FileIO.AppendTextAsync,我就会得到Access Denied错误 - 大概是因为以前的调用仍在运行。

我该如何处理这种情况?

回答

1

我还没找到完美的解决方案,但我找到了一个可行的解决方案。

  1. volatile关键字标记StorageFile(显着降低错误)。
  2. 然后我重构了一些不必要的执行代码(现在所有错误都消失了)。

注: 1和2都一起实施是必要的,以达到预期的效果 - 因此我对解决方案不完美的注释。

更新:对于一个更正确的解决方案,请看到这个帖子: FileIO Multiple Threads