ReaderWriterLockSlim.TryEnterUpgradeableReadLock 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
尝试以可升级模式进入锁,并选择性超时。
重载
| 名称 | 说明 |
|---|---|
| TryEnterUpgradeableReadLock(Int32) |
尝试以可升级模式进入锁,并选择性超时。 |
| TryEnterUpgradeableReadLock(TimeSpan) |
尝试以可升级模式进入锁,并选择性超时。 |
TryEnterUpgradeableReadLock(Int32)
- Source:
- ReaderWriterLockSlim.cs
- Source:
- ReaderWriterLockSlim.cs
- Source:
- ReaderWriterLockSlim.cs
- Source:
- ReaderWriterLockSlim.cs
- Source:
- ReaderWriterLockSlim.cs
尝试以可升级模式进入锁,并选择性超时。
public:
bool TryEnterUpgradeableReadLock(int millisecondsTimeout);
public bool TryEnterUpgradeableReadLock(int millisecondsTimeout);
member this.TryEnterUpgradeableReadLock : int -> bool
Public Function TryEnterUpgradeableReadLock (millisecondsTimeout As Integer) As Boolean
参数
返回
例外
该 RecursionPolicy 属性为 NoRecursion 当前线程已进入锁。
-或-
当前线程最初在读取模式下进入锁,因此尝试进入可升级模式将产生死锁的可能性。
-或-
递归数将超过计数器的容量。 限制如此之大,以至于应用程序不应该遇到它。
值为 millisecondsTimeout 负值,但它不等于 Infinite (-1),这是允许的唯一负值。
注解
如果 millisecondsTimeout 为 0(零),此方法将检查锁定状态,并在所需状态不可用时立即返回 false 。
当线程通常访问受 ReaderWriterLockSlim 读取模式保护的资源时,请使用可升级模式,但如果满足某些条件,可能需要进入写入模式。 可升级模式下的线程可以升级到写入模式或降级到读取模式。
在任何给定时间,只有一个线程可以进入可升级模式的锁。 如果线程处于可升级模式,并且没有等待进入写入模式的线程,则任何其他线程都可以进入读取模式,即使有等待进入可升级模式的线程也是如此。
如果一个或多个线程正在等待进入写入模式,则调用 TryEnterUpgradeableReadLock 方法的线程将阻止,直到这些线程超时或进入写入模式,然后退出写入模式,或直到调用线程自己的超时间隔过期为止。
注释
如果锁允许递归,则以可升级模式进入锁的线程可以递归进入可升级模式,即使其他线程正在等待进入写入模式。
适用于
TryEnterUpgradeableReadLock(TimeSpan)
- Source:
- ReaderWriterLockSlim.cs
- Source:
- ReaderWriterLockSlim.cs
- Source:
- ReaderWriterLockSlim.cs
- Source:
- ReaderWriterLockSlim.cs
- Source:
- ReaderWriterLockSlim.cs
尝试以可升级模式进入锁,并选择性超时。
public:
bool TryEnterUpgradeableReadLock(TimeSpan timeout);
public bool TryEnterUpgradeableReadLock(TimeSpan timeout);
member this.TryEnterUpgradeableReadLock : TimeSpan -> bool
Public Function TryEnterUpgradeableReadLock (timeout As TimeSpan) As Boolean
参数
- timeout
- TimeSpan
等待的间隔,或 -1 毫秒无限期等待。
返回
例外
该 RecursionPolicy 属性为 NoRecursion 当前线程已进入锁。
-或-
当前线程最初在读取模式下进入锁,因此尝试进入可升级模式将产生死锁的可能性。
-或-
递归数将超过计数器的容量。 限制如此之大,以至于应用程序不应该遇到它。
注解
如果 timeout 为 0(零),此方法将检查锁定状态,并在所需状态不可用时立即返回 false 。
当线程通常访问受 ReaderWriterLockSlim 读取模式保护的资源时,请使用可升级模式,但如果满足某些条件,可能需要进入写入模式。 可升级模式下的线程可以升级到写入模式或降级到读取模式。
在任何给定时间,只有一个线程可以进入可升级模式的锁。 如果线程处于可升级模式,并且没有等待进入写入模式的线程,则任何其他线程都可以进入读取模式,即使有等待进入可升级模式的线程也是如此。
如果一个或多个线程正在等待进入写入模式,则调用 TryEnterUpgradeableReadLock 方法的线程将阻止,直到这些线程超时或进入写入模式,然后退出写入模式,或直到调用线程自己的超时间隔过期为止。
注释
如果锁允许递归,则以可升级模式进入锁的线程可以递归进入可升级模式,即使其他线程正在等待进入写入模式。