SpinLock.TryEnter 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
尝试采用可靠的方式获取锁,这样,即使在方法调用中发生异常的情况下,都能采用可靠的方式检查 lockTaken
以确定是否已获取锁。
重载
TryEnter(Boolean) |
尝试采用可靠的方式获取锁,这样,即使在方法调用中发生异常的情况下,都能采用可靠的方式检查 |
TryEnter(Int32, Boolean) |
尝试采用可靠的方式获取锁,这样,即使在方法调用中发生异常的情况下,都能采用可靠的方式检查 |
TryEnter(TimeSpan, Boolean) |
尝试采用可靠的方式获取锁,这样,即使在方法调用中发生异常的情况下,都能采用可靠的方式检查 |
TryEnter(Boolean)
- Source:
- SpinLock.cs
- Source:
- SpinLock.cs
- Source:
- SpinLock.cs
尝试采用可靠的方式获取锁,这样,即使在方法调用中发生异常的情况下,都能采用可靠的方式检查 lockTaken
以确定是否已获取锁。
public:
void TryEnter(bool % lockTaken);
public void TryEnter (ref bool lockTaken);
member this.TryEnter : bool -> unit
Public Sub TryEnter (ByRef lockTaken As Boolean)
参数
- lockTaken
- Boolean
如果已获取锁,则为 true,否则为 false。 调用此方法前,必须将 lockTaken
始化为 false。
例外
在调用 TryEnter 之前,lockTaken
参数必须在初始化为 false。
线程所有权跟踪已启用,当前线程已获取此锁定。
注解
与 不同 Enter,TryEnter 不会阻止等待锁可用。 如果在调用 TryEnter 时锁不可用,它将立即返回,而不会进一步旋转。
另请参阅
适用于
TryEnter(Int32, Boolean)
- Source:
- SpinLock.cs
- Source:
- SpinLock.cs
- Source:
- SpinLock.cs
尝试采用可靠的方式获取锁,这样,即使在方法调用中发生异常的情况下,都能采用可靠的方式检查 lockTaken
以确定是否已获取锁。
public:
void TryEnter(int millisecondsTimeout, bool % lockTaken);
public void TryEnter (int millisecondsTimeout, ref bool lockTaken);
member this.TryEnter : int * bool -> unit
Public Sub TryEnter (millisecondsTimeout As Integer, ByRef lockTaken As Boolean)
参数
- lockTaken
- Boolean
如果已获取锁,则为 true,否则为 false。 调用此方法前,必须将 lockTaken
始化为 false。
例外
millisecondsTimeout
是一个非 -1 的负数,而 -1 表示无限期超时。
在调用 TryEnter 之前,lockTaken
参数必须在初始化为 false。
线程所有权跟踪已启用,当前线程已获取此锁定。
注解
与 不同 Enter,TryEnter 不会无限期地阻止等待锁可用。 它将阻止,直到锁可用或 millisecondsTimeout
已过期。
另请参阅
适用于
TryEnter(TimeSpan, Boolean)
- Source:
- SpinLock.cs
- Source:
- SpinLock.cs
- Source:
- SpinLock.cs
尝试采用可靠的方式获取锁,这样,即使在方法调用中发生异常的情况下,都能采用可靠的方式检查 lockTaken
以确定是否已获取锁。
public:
void TryEnter(TimeSpan timeout, bool % lockTaken);
public void TryEnter (TimeSpan timeout, ref bool lockTaken);
member this.TryEnter : TimeSpan * bool -> unit
Public Sub TryEnter (timeout As TimeSpan, ByRef lockTaken As Boolean)
参数
- lockTaken
- Boolean
如果已获取锁,则为 true,否则为 false。 调用此方法前,必须将 lockTaken
始化为 false。
例外
timeout
是除 -1 毫秒以外的负数,表示无限超时 -或 - 超时大于 Int32.MaxValue 毫秒。
在调用 TryEnter 之前,lockTaken
参数必须在初始化为 false。
线程所有权跟踪已启用,当前线程已获取此锁定。
注解
与 不同 Enter,TryEnter 不会无限期地阻止等待锁可用。 它将阻止,直到锁可用或 timeout
已过期。