我正在阅读this question,在写这篇文章的时候,有两个在C#中广泛使用的锁原语:AsyncEx库中的AsyncLock和Scott Hanselman的AsyncLock(基于Stephen Toub的AsyncLock)。这两个都不受微软的官方支持,对于像同步原语这样基本的东西,我真的更喜欢使用.NET SDK中的锁。框架,是官方的。
微软有没有引入任何官方的东西到这个程度?例如。一个相当于lock
块的cnrc?如果没有,有没有这样做的计划?这似乎是一个相当大的疏忽。我知道你可以使用SemaphoreSlim
来实现cnrc互斥锁,但它仍然不是一个正确的锁定类。
**正确的锁定类:**提供IDisposable
锁定器的类,以便与using
语句一起使用。
1条答案
按热度按时间6bc51xsx1#
微软是否已经推出了任何官方到这种程度?
不。目前有一个新的
Lock
类型a movement,它旨在作为lock
语句的替代品。AFAIK在C#语言或.NET运行时中没有关于await lock
语句或AsyncLock
类型的任何事情。