共用方式為


SemaphoreSlim.Wait 方法

定義

封鎖目前的線程,直到它可以進入 SemaphoreSlim

多載

Wait(TimeSpan, CancellationToken)

封鎖目前的線程,直到它可以使用指定逾時 TimeSpan 來輸入 SemaphoreSlim,同時觀察 CancellationToken

Wait(Int32, CancellationToken)

封鎖目前的線程 SemaphoreSlim,直到它可以使用指定逾時的 32 位帶正負號整數,同時觀察 CancellationToken

Wait(TimeSpan)

封鎖目前線程,直到可以使用 TimeSpan 來指定逾時,才能進入 SemaphoreSlim

Wait(Int32)

封鎖目前的線程,直到它可以使用指定逾時的32位帶正負號整數進入 SemaphoreSlim為止。

Wait()

封鎖目前的線程,直到它可以進入 SemaphoreSlim

Wait(CancellationToken)

封鎖目前的線程,直到它可以進入 SemaphoreSlim,同時觀察 CancellationToken

Wait(TimeSpan, CancellationToken)

來源:
SemaphoreSlim.cs
來源:
SemaphoreSlim.cs
來源:
SemaphoreSlim.cs

封鎖目前的線程,直到它可以使用指定逾時 TimeSpan 來輸入 SemaphoreSlim,同時觀察 CancellationToken

public:
 bool Wait(TimeSpan timeout, System::Threading::CancellationToken cancellationToken);
public bool Wait (TimeSpan timeout, System.Threading.CancellationToken cancellationToken);
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
public bool Wait (TimeSpan timeout, System.Threading.CancellationToken cancellationToken);
member this.Wait : TimeSpan * System.Threading.CancellationToken -> bool
[<System.Runtime.Versioning.UnsupportedOSPlatform("browser")>]
member this.Wait : TimeSpan * System.Threading.CancellationToken -> bool
Public Function Wait (timeout As TimeSpan, cancellationToken As CancellationToken) As Boolean

參數

timeout
TimeSpan

表示等候毫秒數的 TimeSpan、代表無限期等候 -1 毫秒的 TimeSpan,或代表0毫秒的 TimeSpan,以測試等候句柄並立即傳回。

cancellationToken
CancellationToken

要觀察的 CancellationToken

傳回

如果目前線程成功進入 SemaphoreSlimtrue ;否則,false

屬性

例外狀況

cancellationToken 已取消。

timeout 是 -1 以外的負數,代表無限逾時。

-或-。

timeout 大於 Int32.MaxValue

旗號Slim 實例已處置。

-或-

已處置建立 cancellationTokenCancellationTokenSource

備註

如果逾時設定為 -1 毫秒,方法會無限期等候。

如果逾時設定為零毫秒,則方法不會封鎖。 它會測試等候句柄的狀態,並立即傳回。

如果線程或工作能夠進入號誌,它會將 CurrentCount 屬性遞減一。

如果取消 cancellationToken,或在呼叫 Wait(TimeSpan, CancellationToken) 時封鎖線程或工作,且 millisecondsTimeout 指定的逾時間隔到期:

  • 線程或工作未輸入號誌。
  • CurrentCount 屬性不會遞減。

如果取消 cancellationToken,方法會擲回 OperationCanceledException 例外狀況。

另請參閱

適用於

Wait(Int32, CancellationToken)

來源:
SemaphoreSlim.cs
來源:
SemaphoreSlim.cs
來源:
SemaphoreSlim.cs

封鎖目前的線程 SemaphoreSlim,直到它可以使用指定逾時的 32 位帶正負號整數,同時觀察 CancellationToken

public:
 bool Wait(int millisecondsTimeout, System::Threading::CancellationToken cancellationToken);
public bool Wait (int millisecondsTimeout, System.Threading.CancellationToken cancellationToken);
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
public bool Wait (int millisecondsTimeout, System.Threading.CancellationToken cancellationToken);
member this.Wait : int * System.Threading.CancellationToken -> bool
[<System.Runtime.Versioning.UnsupportedOSPlatform("browser")>]
member this.Wait : int * System.Threading.CancellationToken -> bool
Public Function Wait (millisecondsTimeout As Integer, cancellationToken As CancellationToken) As Boolean

參數

millisecondsTimeout
Int32

等候的毫秒數,Infinite(-1)無限期等候,或零以測試等候句柄的狀態,並立即傳回。

cancellationToken
CancellationToken

要觀察的 CancellationToken

傳回

如果目前線程成功進入 SemaphoreSlimtrue ;否則,false

屬性

例外狀況

cancellationToken 已取消。

millisecondsTimeout 是 -1 以外的負數,代表無限逾時。

-或-

millisecondsTimeout 大於 Int32.MaxValue

已處置 SemaphoreSlim 實例,或已處置建立 cancellationTokenCancellationTokenSource

備註

如果逾時設定為 -1 毫秒,方法會無限期等候。

如果逾時設定為零毫秒,則方法不會封鎖。 它會測試等候句柄的狀態,並立即傳回。

如果線程或工作能夠進入號誌,它會將 CurrentCount 屬性遞減一。

如果取消 cancellationToken,或在呼叫 Wait(Int32, CancellationToken) 時封鎖線程或工作,且 millisecondsTimeout 指定的逾時間隔到期:

  • 線程或工作未輸入號誌。
  • CurrentCount 屬性不會遞減。

如果取消 cancellationToken,方法會擲回 OperationCanceledException 例外狀況。

另請參閱

適用於

Wait(TimeSpan)

來源:
SemaphoreSlim.cs
來源:
SemaphoreSlim.cs
來源:
SemaphoreSlim.cs

封鎖目前線程,直到可以使用 TimeSpan 來指定逾時,才能進入 SemaphoreSlim

public:
 bool Wait(TimeSpan timeout);
public bool Wait (TimeSpan timeout);
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
public bool Wait (TimeSpan timeout);
member this.Wait : TimeSpan -> bool
[<System.Runtime.Versioning.UnsupportedOSPlatform("browser")>]
member this.Wait : TimeSpan -> bool
Public Function Wait (timeout As TimeSpan) As Boolean

參數

timeout
TimeSpan

表示等候毫秒數的 TimeSpan、代表無限期等候 -1 毫秒的 TimeSpan,或代表0毫秒的 TimeSpan,以測試等候句柄並立即傳回。

傳回

如果目前線程成功進入 SemaphoreSlimtrue ;否則,false

屬性

例外狀況

timeout 是 -1 以外的負數,代表無限逾時。

-或-

timeout 大於 Int32.MaxValue

旗號Slim 實例已處置。

備註

如果逾時設定為 -1 毫秒,方法會無限期等候。

如果逾時設定為零毫秒,則方法不會封鎖。 它會測試等候句柄的狀態,並立即傳回。

如果線程或工作能夠進入號誌,它會將 CurrentCount 屬性遞減一。

如果在呼叫 Wait(TimeSpan) 時封鎖線程或工作,且 millisecondsTimeout 指定的逾時間隔到期:

  • 線程或工作未輸入號誌。
  • CurrentCount 屬性不會遞減。

另請參閱

適用於

Wait(Int32)

來源:
SemaphoreSlim.cs
來源:
SemaphoreSlim.cs
來源:
SemaphoreSlim.cs

封鎖目前的線程,直到它可以使用指定逾時的32位帶正負號整數進入 SemaphoreSlim為止。

public:
 bool Wait(int millisecondsTimeout);
public bool Wait (int millisecondsTimeout);
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
public bool Wait (int millisecondsTimeout);
member this.Wait : int -> bool
[<System.Runtime.Versioning.UnsupportedOSPlatform("browser")>]
member this.Wait : int -> bool
Public Function Wait (millisecondsTimeout As Integer) As Boolean

參數

millisecondsTimeout
Int32

等候的毫秒數,Infinite(-1)無限期等候,或零以測試等候句柄的狀態,並立即傳回。

傳回

如果目前線程成功進入 SemaphoreSlimtrue ;否則,false

屬性

例外狀況

millisecondsTimeout 是 -1 以外的負數,代表無限逾時 -或逾時大於 Int32.MaxValue

備註

如果逾時設定為 -1 毫秒,方法會無限期等候。

如果逾時設定為零毫秒,則方法不會封鎖。 它會測試等候句柄的狀態,並立即傳回。

如果線程或工作能夠進入號誌,它會將 CurrentCount 屬性遞減一。

如果在呼叫 Wait(Int32) 時封鎖線程或工作,且 millisecondsTimeout 指定的逾時間隔到期:

  • 線程或工作未輸入號誌。
  • CurrentCount 屬性不會遞減。

另請參閱

適用於

Wait()

來源:
SemaphoreSlim.cs
來源:
SemaphoreSlim.cs
來源:
SemaphoreSlim.cs

封鎖目前的線程,直到它可以進入 SemaphoreSlim

public:
 void Wait();
public void Wait ();
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
public void Wait ();
member this.Wait : unit -> unit
[<System.Runtime.Versioning.UnsupportedOSPlatform("browser")>]
member this.Wait : unit -> unit
Public Sub Wait ()
屬性

例外狀況

目前的實例已經處置。

備註

如果線程或工作能夠進入號誌,它會將 CurrentCount 屬性遞減一。

另請參閱

適用於

Wait(CancellationToken)

來源:
SemaphoreSlim.cs
來源:
SemaphoreSlim.cs
來源:
SemaphoreSlim.cs

封鎖目前的線程,直到它可以進入 SemaphoreSlim,同時觀察 CancellationToken

public:
 void Wait(System::Threading::CancellationToken cancellationToken);
public void Wait (System.Threading.CancellationToken cancellationToken);
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
public void Wait (System.Threading.CancellationToken cancellationToken);
member this.Wait : System.Threading.CancellationToken -> unit
[<System.Runtime.Versioning.UnsupportedOSPlatform("browser")>]
member this.Wait : System.Threading.CancellationToken -> unit
Public Sub Wait (cancellationToken As CancellationToken)

參數

cancellationToken
CancellationToken

要觀察的 CancellationToken 標記。

屬性

例外狀況

cancellationToken 已取消。

目前的實例已經處置。

-或-

已處置建立 cancellationTokenCancellationTokenSource

備註

如果線程或工作能夠進入號誌,它會將 CurrentCount 屬性遞減一。

如果取消 cancellationToken,線程或工作就不會進入號誌,而且不會遞減 CurrentCount 屬性。 相反地,方法會擲回 OperationCanceledException 例外狀況。

另請參閱

適用於