Lock.TryEnter 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
重载
TryEnter() |
尝试在不等待的情况下进入锁。 |
TryEnter(Int32) |
尝试进入锁,根据需要等待指定的毫秒数,直到可以输入锁。 |
TryEnter(TimeSpan) |
尝试进入锁,如有必要,请等待,直到可以输入锁或指定的超时过期。 |
TryEnter()
- Source:
- Lock.cs
尝试在不等待的情况下进入锁。
public:
bool TryEnter();
public bool TryEnter();
member this.TryEnter : unit -> bool
Public Function TryEnter () As Boolean
返回
true
如果当前线程已输入锁,则为 ;否则为 false
。
例外
锁已达到当前线程重复条目的限制。 该限制是实现定义的,旨在足够高,在正常情况下不会达到该限制。
注解
当 方法返回 true
时,当前线程是唯一保留锁的线程。 如果无法立即输入锁,方法将 false
返回,而无需等待锁。 如果锁已由当前线程持有,则会再次输入该锁。 若要完全退出锁并允许其他线程进入锁,当前线程应退出锁的次数与进入锁的次数一样多。
有关详细信息,请参阅 Lock 的备注。
适用于
TryEnter(Int32)
- Source:
- Lock.cs
尝试进入锁,根据需要等待指定的毫秒数,直到可以输入锁。
public:
bool TryEnter(int millisecondsTimeout);
public bool TryEnter(int millisecondsTimeout);
member this.TryEnter : int -> bool
Public Function TryEnter (millisecondsTimeout As Integer) As Boolean
参数
- millisecondsTimeout
- Int32
输入锁之前要等待的毫秒数。 指定 Timeout.Infinite (-1
) 无限期等待或 0
不等待。
返回
true
如果当前线程已输入锁,则为 ;否则为 false
。
例外
millisecondsTimeout
小于 -1
。
锁已达到当前线程重复条目的限制。 该限制是实现定义的,旨在足够高,在正常情况下不会达到该限制。
注解
当 方法返回 true
时,当前线程是唯一保留锁的线程。 如果无法立即输入锁,方法将等到可以输入锁或参数指定的 millisecondsTimeout
超时过期为止。 如果超时在进入锁之前过期,该方法将 false
返回 。 如果锁已由当前线程持有,则会再次输入该锁。 若要完全退出锁并允许其他线程进入锁,当前线程应退出锁的次数与进入锁的次数一样多。
有关详细信息,请参阅 Lock 的备注。
适用于
TryEnter(TimeSpan)
- Source:
- Lock.cs
尝试进入锁,如有必要,请等待,直到可以输入锁或指定的超时过期。
public:
bool TryEnter(TimeSpan timeout);
public bool TryEnter(TimeSpan timeout);
member this.TryEnter : TimeSpan -> bool
Public Function TryEnter (timeout As TimeSpan) As Boolean
参数
- timeout
- TimeSpan
一个 TimeSpan ,表示在可以输入锁之前等待的毫秒数。 指定一个值,该值表示 Timeout.Infinite (-1
无限期等待) 毫秒,或表示 0
不等待的毫秒的值。
返回
true
如果当前线程已输入锁,则为 ;否则为 false
。
例外
timeout
转换为整数毫秒值后,表示小于 -1
毫秒或大于 Int32.MaxValue 毫秒的值。
锁已达到当前线程重复条目的限制。 该限制是实现定义的,旨在足够高,在正常情况下不会达到该限制。
注解
当 方法返回 true
时,当前线程是唯一保留锁的线程。 如果无法立即输入锁,方法将一直等到可以输入锁或指定的 timeout
过期为止。 如果超时在进入锁之前过期,该方法将 false
返回 。 如果锁已由当前线程持有,则会再次输入该锁。 若要完全退出锁并允许其他线程进入锁,当前线程应退出锁的次数与进入锁的次数一样多。
有关详细信息,请参阅 Lock 的备注。