我正在阅读this question,在 compose 本文时,有两个在C#中广泛使用的异步锁定原语:来自AsyncEx库的AsyncLock和Scott Hanselman的AsyncLock(基于Stephen Toub的AsyncLock).两者都没有得到微软的正式支持,对于像同步原语这样基本的东西,我真的更喜欢使用.NET SDK/框架中实际存在并且是官方的锁.
微软有没有正式推出过这样的产品呢?也就是说.相当于lock
个区块的异步?若否,有否计划这样做?这似乎是一个相当大的疏忽.我知道您可以使用SemaphoreSlim
来实现异步互斥锁,但它仍然不是一个正确的锁定类.
Proper locking class:提供IDisposable
释放器的类,以便可以与using
语句一起使用.