我正在阅读这个问题,在撰写本文时,C# 中广泛使用了两种异步锁定原语;来自 AsyncEx 库的 AsyncLock 和 Scott Hanselman 的 AsyncLock(基于 Stephen Toub 的 AsyncLock)。两者都没有得到 Microsoft 的官方支持,对于像同步原语这样基本的东西,我真的更喜欢使用实际上在 .NET SDK/框架中并且是官方的锁。
微软是否已经推出过任何官方的东西? IE。相当于
lock
块的异步?如果没有,是否有这样做的计划?这似乎是一个相当大的疏忽。我知道你可以使用 SemaphoreSlim
来实现异步互斥体,但它仍然不是一个合适的锁定类。