【问题标题】:Metro StorageFile Multithreaded File loggingMetro StorageFile 多线程文件记录
【发布时间】:2013-02-23 09:12:58
【问题描述】:

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

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

这可行,但只要多个线程调用 FileIO.AppendTextAsync,我就会收到拒绝访问错误 - 可能是因为之前对其的调用仍在运行。

我该如何处理这种情况?

【问题讨论】:

    标签: c# multithreading microsoft-metro storagefile


    【解决方案1】:

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

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

    注意: 1 和 2 一起实施对于实现预期结果是必要的 - 因此我对解决方案不完美的评论。

    更新:有关更正确的解决方案,请参阅此帖子: FileIO Multiple Threads

    【讨论】:

      猜你喜欢
      • 2013-06-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-11
      相关资源
      最近更新 更多