【发布时间】:2023-04-08 14:08:01
【问题描述】:
由于ReaderWriterLockSlim 类使用线程 ID 来查看谁拥有锁,因此在不保证所有方法都将在同一个线程上执行的异步方法中使用它是否安全。
例如。
System.Threading.ReaderWriterLockSlim readerwriterlock = new System.Threading.ReaderWriterLockSlim();
private async Task Test()
{
readerwriterlock.EnterWriteLock();
await Task.Yield(); //do work that could yield the task
readerwriterlock.ExitWriteLock(); //potentailly exit the lock on a different thread
}
【问题讨论】:
标签: c# .net multithreading