共用方式為


Barrier.SignalAndWait 方法

定義

發出訊號,表示參與者已到達屏障,並且在等候所有其他參與者到達屏障。

多載

SignalAndWait()

發出訊號,表示參與者已到達屏障,並且在等候所有其他參與者到達屏障。

SignalAndWait(Int32)

發出訊號,表示參與者已到達屏障,並且在等候所有其他參與者到達屏障 (使用 32 位元帶正負號的整數以測量逾時)。

SignalAndWait(CancellationToken)

發出訊號,表示參與者已到達屏障,並且在等候所有其他參與者到達,同時觀察取消語彙基元。

SignalAndWait(TimeSpan)

發出訊號,表示參與者已到達屏障,並且在等候所有其他參與者到達屏障 (使用 TimeSpan 物件以測量時間間隔)。

SignalAndWait(Int32, CancellationToken)

發出訊號,表示參與者已到達屏障,並且在等候所有其他參與者到達 (使用 32 位元帶正負號的整數以測量逾時),同時觀察取消語彙基元。

SignalAndWait(TimeSpan, CancellationToken)

發出訊號,表示參與者已到達屏障,並且在等候所有其他參與者到達 (使用 TimeSpan 物件以測量時間間隔),同時觀察取消語彙基元。

SignalAndWait()

來源:
Barrier.cs
來源:
Barrier.cs
來源:
Barrier.cs

發出訊號,表示參與者已到達屏障,並且在等候所有其他參與者到達屏障。

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

例外狀況

目前的執行個體已經過處置。

此方法是從 post-phase 動作中叫用,屏障目前有 0 個參與者,或者使用該屏障的執行緒數量多於註冊為參與者的數量。

所有參與執行緒皆已呼叫 SignalAndWait 後,如果從 Barrier 的階段後動作擲回例外,會將例外狀況包裝在 BarrierPostPhaseException 中,並擲回所有參與執行緒。

另請參閱

適用於

SignalAndWait(Int32)

來源:
Barrier.cs
來源:
Barrier.cs
來源:
Barrier.cs

發出訊號,表示參與者已到達屏障,並且在等候所有其他參與者到達屏障 (使用 32 位元帶正負號的整數以測量逾時)。

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

參數

millisecondsTimeout
Int32

要等候的毫秒數;若要無限期等候,則為 Infinite(-1)。

傳回

如果所有參與者皆在指定時間內達到屏障,則為 true;否則為 false

屬性

例外狀況

目前的執行個體已經過處置。

millisecondsTimeout 為 -1 以外的負數,表示無限逾時。

此方法是從 post-phase 動作中叫用,屏障目前有 0 個參與者,或者使用該屏障的執行緒數量多於註冊為參與者的數量。

所有參與執行緒皆已呼叫 SignalAndWait 後,如果從 Barrier 的階段後動作擲回例外,會將例外狀況包裝在 BarrierPostPhaseException 中,並擲回所有參與執行緒。

另請參閱

適用於

SignalAndWait(CancellationToken)

來源:
Barrier.cs
來源:
Barrier.cs
來源:
Barrier.cs

發出訊號,表示參與者已到達屏障,並且在等候所有其他參與者到達,同時觀察取消語彙基元。

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

參數

cancellationToken
CancellationToken

要觀察的 CancellationToken

屬性

例外狀況

cancellationToken 已取消。

目前的執行個體已經過處置。

此方法是從 post-phase 動作中叫用,屏障目前有 0 個參與者,或者使用該屏障的執行緒數量多於註冊為參與者的數量。

另請參閱

適用於

SignalAndWait(TimeSpan)

來源:
Barrier.cs
來源:
Barrier.cs
來源:
Barrier.cs

發出訊號,表示參與者已到達屏障,並且在等候所有其他參與者到達屏障 (使用 TimeSpan 物件以測量時間間隔)。

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

參數

timeout
TimeSpan

TimeSpan,代表等候毫秒數;或是 TimeSpan,代表無限期等候的 -1 毫秒。

傳回

如果所有其他參與者皆達到屏障,則為 true;否則為 false

屬性

例外狀況

目前的執行個體已經過處置。

timeout 是除了 -1 毫秒以外的負數,表示無限逾時,或是大於 32,767 的逾時。

此方法是從 post-phase 動作中叫用,屏障目前有 0 個參與者,或者使用該屏障的執行緒數量多於註冊為參與者的數量。

另請參閱

適用於

SignalAndWait(Int32, CancellationToken)

來源:
Barrier.cs
來源:
Barrier.cs
來源:
Barrier.cs

發出訊號,表示參與者已到達屏障,並且在等候所有其他參與者到達 (使用 32 位元帶正負號的整數以測量逾時),同時觀察取消語彙基元。

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

參數

millisecondsTimeout
Int32

要等候的毫秒數;若要無限期等候,則為 Infinite(-1)。

cancellationToken
CancellationToken

要觀察的 CancellationToken

傳回

true 如果所有參與者在指定時間內達到屏障,則為 ;否則為 false

屬性

例外狀況

cancellationToken 已取消。

目前的執行個體已經過處置。

millisecondsTimeout 為 -1 以外的負數,表示無限逾時。

此方法是從 post-phase 動作中叫用,屏障目前有 0 個參與者,或者使用該屏障的執行緒數量多於註冊為參與者的數量。

備註

cancellationToken如果在訊號生效之前取消 ,則會 OperationCanceledException 擲回 ,且 ParticipantsRemaining 值不會減少。 cancellationToken如果未取消,或在訊號生效之後取消 ,則會 ParticipantsRemaining 減少,而不會擲回 。 OperationCanceledException

另請參閱

適用於

SignalAndWait(TimeSpan, CancellationToken)

來源:
Barrier.cs
來源:
Barrier.cs
來源:
Barrier.cs

發出訊號,表示參與者已到達屏障,並且在等候所有其他參與者到達 (使用 TimeSpan 物件以測量時間間隔),同時觀察取消語彙基元。

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

參數

timeout
TimeSpan

TimeSpan,代表等候毫秒數;或是 TimeSpan,代表無限期等候的 -1 毫秒。

cancellationToken
CancellationToken

要觀察的 CancellationToken

傳回

如果所有其他參與者皆達到屏障,則為 true;否則為 false

屬性

例外狀況

cancellationToken 已取消。

目前的執行個體已經過處置。

timeout 為 -1 毫秒以外的負數,表示無限逾時。

此方法是從 post-phase 動作中叫用,屏障目前有 0 個參與者,或者使用該屏障的執行緒數量多於註冊為參與者的數量。

另請參閱

適用於