如何使用await FileIO.WriteTextAsync()
(在Windows Phone 8.1中)写入文件后获取mutex
,以便确保任何两个线程访问同一文件并且实现互斥。我正在执行以下操作:
mutex.WaitOne()
try
{
await FileIO.WriteTextAsync(filename, text);
Debug.WriteLine("written");
}
finally
{
mutex.ReleaseMutex();
}
但该方法仅适用于一两次迭代,之后会抛出System.Exception
异常。同时,如果我移除await
关键字或完全移除文件写入方法,则代码将能够完美运行。因此,所有问题都是由于调用异步方法造成的。我应该如何解决这个问题呢?