Barrier.SignalAndWait メソッド

定義

参加者がバリアに到達したことを通知し、他のすべての参加者もバリアに到達するまで待機します。

オーバーロード

名前 説明
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

パラメーター

millisecondsTimeout
Int32

待機するミリ秒数、または無期限に待機する Infinite(-1)。

返品

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

パラメーター

timeout
TimeSpan

待機するミリ秒数を表す TimeSpan 、または無期限に待機する -1 ミリ秒を表す TimeSpan

返品

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

パラメーター

millisecondsTimeout
Int32

待機するミリ秒数、または無期限に待機する Infinite(-1)。

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

パラメーター

timeout
TimeSpan

待機するミリ秒数を表す TimeSpan 、または無期限に待機する -1 ミリ秒を表す TimeSpan

cancellationToken
CancellationToken

観察する CancellationToken

返品

true 他のすべての参加者が障壁に達した場合。それ以外の場合は false

例外

cancellationToken が取り消されました。

現在のインスタンスは既に破棄されています。

timeout は、無限タイムアウトを表す、-1 ミリ秒以外の負の数です。

このメソッドは、フェーズ後のアクション内から呼び出されました。バリアには現在 0 人の参加者が存在するか、バリアは参加者として登録されているよりも多くのスレッドによって通知されます。

こちらもご覧ください

適用対象