Barrier.SignalAndWait メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
参加者がバリアに到達したことを通知し、他のすべての参加者もバリアに到達するまで待機します。
オーバーロード
| 名前 | 説明 |
|---|---|
| SignalAndWait() |
参加者がバリアに到達したことを通知し、他のすべての参加者もバリアに到達するまで待機します。 |
| SignalAndWait(Int32) |
参加者がバリアに到達し、32 ビット符号付き整数を使用してタイムアウトを測定し、他のすべての参加者もバリアに到達するまで待機することを通知します。 |
| SignalAndWait(CancellationToken) |
参加者がバリアに到達したことを通知し、キャンセル トークンを観察しながら、他のすべての参加者がバリアに到達するのを待機します。 |
| SignalAndWait(TimeSpan) |
参加者がバリアに到達したことを通知し、他のすべての参加者がバリアに到達するまで待機します。 TimeSpan オブジェクトを使用して時間間隔を測定します。 |
| SignalAndWait(Int32, CancellationToken) |
参加者がバリアに到達し、キャンセル トークンを監視しながら、32 ビット符号付き整数を使用してタイムアウトを測定し、他のすべての参加者もバリアに到達するまで待機することを通知します。 |
| SignalAndWait(TimeSpan, CancellationToken) |
参加者がバリアに到達し、キャンセル トークンを観察しながら、 TimeSpan オブジェクトを使用して時間間隔を測定し、他のすべての参加者がバリアに到達するまで待機することを通知します。 |
SignalAndWait()
参加者がバリアに到達したことを通知し、他のすべての参加者もバリアに到達するまで待機します。
public:
void SignalAndWait();
public void SignalAndWait();
member this.SignalAndWait : unit -> unit
Public Sub SignalAndWait ()
例外
現在のインスタンスは既に破棄されています。
このメソッドは、フェーズ後のアクション内から呼び出されました。バリアには現在 0 人の参加者が存在するか、バリアは参加者として登録されているよりも多くのスレッドによって通知されます。
参加しているすべてのスレッドが SignalAndWait を呼び出した後に、Barrier のフェーズ後アクションから例外がスローされた場合、例外は BarrierPostPhaseException にラップされ、参加しているすべてのスレッドでスローされます。
こちらもご覧ください
適用対象
SignalAndWait(Int32)
参加者がバリアに到達し、32 ビット符号付き整数を使用してタイムアウトを測定し、他のすべての参加者もバリアに到達するまで待機することを通知します。
public:
bool SignalAndWait(int millisecondsTimeout);
public bool SignalAndWait(int millisecondsTimeout);
member this.SignalAndWait : int -> bool
Public Function SignalAndWait (millisecondsTimeout As Integer) As Boolean
パラメーター
返品
true すべての参加者が指定された時間内にバリアに到達した場合。それ以外の場合は false。
例外
現在のインスタンスは既に破棄されています。
millisecondsTimeout は-1 以外の負の数で、無限タイムアウトを表します。
このメソッドは、フェーズ後のアクション内から呼び出されました。バリアには現在 0 人の参加者が存在するか、バリアは参加者として登録されているよりも多くのスレッドによって通知されます。
参加しているすべてのスレッドが SignalAndWait を呼び出した後に、Barrier のフェーズ後アクションから例外がスローされた場合、例外は BarrierPostPhaseException にラップされ、参加しているすべてのスレッドでスローされます。
こちらもご覧ください
適用対象
SignalAndWait(CancellationToken)
参加者がバリアに到達したことを通知し、キャンセル トークンを観察しながら、他のすべての参加者がバリアに到達するのを待機します。
public:
void SignalAndWait(System::Threading::CancellationToken cancellationToken);
public void SignalAndWait(System.Threading.CancellationToken cancellationToken);
member this.SignalAndWait : System.Threading.CancellationToken -> unit
Public Sub SignalAndWait (cancellationToken As CancellationToken)
パラメーター
- cancellationToken
- CancellationToken
観察する CancellationToken 。
例外
cancellationToken が取り消されました。
現在のインスタンスは既に破棄されています。
このメソッドは、フェーズ後のアクション内から呼び出されました。バリアには現在 0 人の参加者が存在するか、バリアは参加者として登録されているよりも多くのスレッドによって通知されます。
こちらもご覧ください
適用対象
SignalAndWait(TimeSpan)
参加者がバリアに到達したことを通知し、他のすべての参加者がバリアに到達するまで待機します。 TimeSpan オブジェクトを使用して時間間隔を測定します。
public:
bool SignalAndWait(TimeSpan timeout);
public bool SignalAndWait(TimeSpan timeout);
member this.SignalAndWait : TimeSpan -> bool
Public Function SignalAndWait (timeout As TimeSpan) As Boolean
パラメーター
返品
true 他のすべての参加者が障壁に達した場合。それ以外の場合は false。
例外
現在のインスタンスは既に破棄されています。
timeout は、無限タイムアウトを表す -1 ミリ秒以外の負の数、または 32,767 を超える値です。
このメソッドは、フェーズ後のアクション内から呼び出されました。バリアには現在 0 人の参加者が存在するか、バリアは参加者として登録されているよりも多くのスレッドによって通知されます。
こちらもご覧ください
適用対象
SignalAndWait(Int32, CancellationToken)
参加者がバリアに到達し、キャンセル トークンを監視しながら、32 ビット符号付き整数を使用してタイムアウトを測定し、他のすべての参加者もバリアに到達するまで待機することを通知します。
public:
bool SignalAndWait(int millisecondsTimeout, System::Threading::CancellationToken cancellationToken);
public bool SignalAndWait(int millisecondsTimeout, System.Threading.CancellationToken cancellationToken);
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 以外の負の数で、無限タイムアウトを表します。
このメソッドは、フェーズ後のアクション内から呼び出されました。バリアには現在 0 人の参加者が存在するか、バリアは参加者として登録されているよりも多くのスレッドによって通知されます。
注釈
シグナルが有効になる前に cancellationToken が取り消された場合、 OperationCanceledException がスローされ、 ParticipantsRemaining 値は減少しません。
cancellationTokenがキャンセルされないか、シグナルが有効になった後に取り消された場合、ParticipantsRemainingは減少し、OperationCanceledExceptionはスローされません。
こちらもご覧ください
適用対象
SignalAndWait(TimeSpan, CancellationToken)
参加者がバリアに到達し、キャンセル トークンを観察しながら、 TimeSpan オブジェクトを使用して時間間隔を測定し、他のすべての参加者がバリアに到達するまで待機することを通知します。
public:
bool SignalAndWait(TimeSpan timeout, System::Threading::CancellationToken cancellationToken);
public bool SignalAndWait(TimeSpan timeout, System.Threading.CancellationToken cancellationToken);
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 ミリ秒以外の負の数です。
このメソッドは、フェーズ後のアクション内から呼び出されました。バリアには現在 0 人の参加者が存在するか、バリアは参加者として登録されているよりも多くのスレッドによって通知されます。