語言

Lock.TryEnter 方法

定義

多載

名稱 Description
TryEnter()

嘗試不等就進入鎖。

TryEnter(Int32)

嘗試進入鎖,必要時等待指定的毫秒數,直到能進入鎖。

TryEnter(TimeSpan)

嘗試進入鎖,必要時等待鎖被進入或指定的超時結束。

TryEnter()

來源:
Lock.cs
來源:
Lock.cs
來源:
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)

來源:
Lock.cs
來源:
Lock.cs
來源:
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)

來源:
Lock.cs
來源:
Lock.cs
來源:
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

A TimeSpan 代表等待鎖進入的毫秒數。 指定一個代表 Timeout.Infinite (-1) 毫秒的值,表示無限等待,或一個代表 0 毫秒不等待的值。

傳回

true如果鎖是由當前執行緒輸入的;否則,。 false

例外狀況

timeout,轉換成整數毫秒值後,代表小於毫秒或大於 Int32.MaxValue 毫秒的值-1。

目前執行緒的重複條目已達到極限。 這個限制是由實作單位定義的,且設計上足夠高,以致於在正常情況下無法達到。

備註

當方法返回 true時,目前執行緒是唯一持有鎖的執行緒。 如果無法立即進入鎖,方法會等待鎖被輸入或指定的鎖 timeout 到期。 若逾時在進入鎖前就已過期,該方法會返回 false。 如果鎖已被當前執行緒持有,則會重新輸入鎖。 要完全退出鎖並允許其他線程進入鎖,當前線程應與進入鎖的次數相同。

欲了解更多資訊,請參閱備 Lock註。

適用於