关于 ReaderWriterLockSlim
:
随后在 同一 线程中获取两个锁实际上应该抛出 LockRecursionException
(递归策略设置为 NoRecursion
)。
我的观察结果:
LockRecursionException
LockRecursionException
LockRecursionException
LockRecursionException
LockRecursionException
LockRecursionException
LockRecursionException
这种行为是否正确?
最佳答案
From the docs :
我的理解是,对于写入情况,无论如何进入写入锁是从可升级模式移动到写入模式的正常方式,因此即使在 NoRecursion
的策略下也必须支持(对于不可升级的似乎没有什么意义)可升级的锁:)
关于.net - ReaderWriterLockSlim : acquiring a read lock after an upgradeable lock doesn't throw LockRecursionException,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14811313/