关于ReaderWriterLockSlim
随后在中获取两个锁,相同的线程实际上应该抛出一个LockRecursionException (递归策略设置为NoRecursion)。
我的观察结果:
LockRecursionExceptionLockRecursionExceptionLockRecursionExceptionLockRecursionExceptionLockRecursionExceptionLockRecursionExceptionLockRecursionException这种行为正确吗?
发布于 2013-02-11 12:18:33
从医生那里
处于可升级模式的线程可以先调用
EnterReadLock方法,然后调用ExitUpgradeableReadLock方法,从而将其降级为读取模式。对于所有锁递归策略,甚至包括NoRecursion,都允许这种降级模式。
我的理解是,对于写入情况,输入写锁是从可升级模式转移到写入模式的正常方式,因此即使在NoRecursion策略下也必须支持(不可升级的可升级锁似乎没有什么意义:)
https://stackoverflow.com/questions/14811313
复制相似问题