Barrier.SignalAndWait 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
發出訊號,表示參與者已到達屏障,並且在等候所有其他參與者到達屏障。
多載
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
參數
傳回
如果所有參與者皆在指定時間內達到屏障,則為 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
參數
傳回
如果所有其他參與者皆達到屏障,則為 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
參數
- 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
參數
- cancellationToken
- CancellationToken
要觀察的 CancellationToken。
傳回
如果所有其他參與者皆達到屏障,則為 true
;否則為 false
。
- 屬性
例外狀況
cancellationToken
已取消。
目前的執行個體已經過處置。
timeout
為 -1 毫秒以外的負數,表示無限逾時。
此方法是從 post-phase 動作中叫用,屏障目前有 0 個參與者,或者使用該屏障的執行緒數量多於註冊為參與者的數量。