EnterUpgradeableReadLock和TryEnterUpgradeableReadLock有什么区别?

时间:2010-11-18 15:20:58

标签: .net multithreading locking

System.Threading.ReaderWriterLockSlim.EnterUpgradeableReadLock和System.Threading.ReaderWriterLockSlim.TryEnterUpgradeableReadLock有什么区别?在.NET?它只是超时选项吗?谢谢!

1 个答案:

答案 0 :(得分:2)

EnterUpgradeableReadLock总是阻塞,直到获得锁定。如果在指定时间内无法获取锁,则TryEnterUpgradeableReadLock返回false。如果你使用它,你必须准备好处理没有锁定的情况。

来自EnterUpgradeableReadLock的文档:

  

此方法阻止直到调用   线程进入锁定,因此   可能永远不会回来使用   TryEnterUpgradeableReadLock方法   阻止指定的间隔,和   如果调用线程有,则返回   在此期间未进入可升级模式   那个间隔。