使用 FileIO.ReadTextAsync 写入线程安全的异步文件
Thread safe async file writе with FileIO.ReadTextAsync
如何在 windows 通用应用程序中使用 FileIO.ReadTextAsync 以保证线程安全?因为尝试类似的东西
lock(lockObject)
{
var data = await ReadTextAsync(fileName);
}
但不支持在 lock
中使用 await
=(.
使用 SemaphoreSlim
和 WaitAsync
方法。
不支持,因为在 I/O 调用期间没有(托管)线程,当前方法稍后将继续,可能在另一个线程上。
锁是一个同步概念,既然您已经在序列化访问,您可以只调用 ReadText
而不是 ReadTextAsync
吗?在您的案例中,您真的从异步中受益吗?
如何在 windows 通用应用程序中使用 FileIO.ReadTextAsync 以保证线程安全?因为尝试类似的东西
lock(lockObject)
{
var data = await ReadTextAsync(fileName);
}
但不支持在 lock
中使用 await
=(.
使用 SemaphoreSlim
和 WaitAsync
方法。
不支持,因为在 I/O 调用期间没有(托管)线程,当前方法稍后将继续,可能在另一个线程上。
锁是一个同步概念,既然您已经在序列化访问,您可以只调用 ReadText
而不是 ReadTextAsync
吗?在您的案例中,您真的从异步中受益吗?