是否有针对.NET 2.0的超薄读写器锁?

ang*_*son 5 .net multithreading locking

我查看了.NET 2.0中的ReaderWriterLock和.NET 3.5中的ReaderWriterLockSlim,而slim版本不使用内核对象进行锁定.对于我的上下文,它可能会产生大量(但不是很大)的对象,这听起来更好.

但是我编写的代码需要在过渡期间在.NET 2.0和3.5中使用,因此3.5版本虽然看起来很适合我的目的但却无法使用.

是否有人拥有或知道类似的类,我可以插入.NET 2.0并获得一些相同的好处?

Jon*_*eet 5

据我所知,没有一个来自微软(否则ReaderWriterLockSlim会毫无意义),如果你找到一个来自第三方的人而不是一个你信任的第三方,他们有很好的思想,他们花了很长时间思考,实施和测试它,我不相信.例如,我当然不会相信随机的CodeProject实现.

你有什么具体的措施表明,使用ReaderWriterLockSlim这么好很多,这是值得定神为.NET 2.0的替代品?这肯定是"很高兴",但我怀疑它具有重大意义的情况相对较少.除非你已经知道锁定对你来说是一个瓶颈,否则我会坚持你所拥有的,并且随时准备好升级.

您可能想尝试使用普通监视器而不是ReaderWriterLock- 在许多情况下,RWL的开销超过了收益.

当然,这完全取决于具体情况 - 你的应用程序可能是一个真的会更快,更快ReaderWriterLockSlim...