代码之家  ›  专栏  ›  技术社区  ›  Achilles

EnterUpgradeableReadLock和TryEnterUpgradeableReadLock有什么区别?

  •  0
  • Achilles  · 技术社区  · 14 年前

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

    1 回复  |  直到 14 年前
        1
  •  2
  •   Steve Townsend    14 年前

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

    从文件中 EnterUpgradeableReadLock :

    此方法在调用 线程进入锁,因此 可能再也回不来了。使用 TryEnterUpgradeableReadLock方法 在指定的时间间隔内阻止,并且 如果调用线程有 期间未进入可升级模式 间隔时间。