我正在寻找像ReaderWriterLock这样的资源保护,它在Enter上阻塞线程,但不依赖于在同一线程上调用Release/Exit。相反,我更喜欢基于IDisposable的release/exit方法。(根本不需要从读到写的锁定提升)。
我已经包装了一个带有IDisposable访问器的ReaderWriterLock,只要不涉及异步等待模式,它就可以很好地工作。当我在服务器上下文(ASP.NET Web )中使用异步等待时,如果using块中有一个Dispose(),那么即使是一个简单的await块也会在另一个线程上调用await。
有没有人知道有一个类(框架或NuGet)能够实现这种多读单写锁定?
发布于 2015-02-25 18:21:04
是。
下面是如何实现您自己的版本:Building Async Coordination Primitives, Part 7: AsyncReaderWriterLock
的一部分。
https://stackoverflow.com/questions/28716319
复制相似问题