2013-02-23 48 views
1

處理對StorageFile對象的多線程文件訪問的正確方法是什麼?Metro StorageFile多線程文件日誌記錄

創建StorageFile後,我使用FileIO.AppendTextAsync寫入它。

這可行,但只要多個線程調用FileIO.AppendTextAsync,我就會得到Access Denied錯誤 - 大概是因爲以前的調用仍在運行。

我該如何處理這種情況?

回答

1

我還沒找到完美的解決方案,但我找到了一個可行的解決方案。

  1. volatile關鍵字標記StorageFile(顯着降低錯誤)。
  2. 然後我重構了一些不必要的執行代碼(現在所有錯誤都消失了)。

注: 1和2都一起實施是必要的,以達到預期的效果 - 因此我對解決方案不完美的註釋。

更新:對於一個更正確的解決方案,請看到這個帖子: FileIO Multiple Threads