エクスポート (0) 印刷
すべて展開
情報
要求されたトピックは次のとおりです。しかし、このトピックはこのライブラリには含まれていません。

Barrier クラス

2013/12/12

複数のタスクが、複数のフェーズを通じて 1 つのアルゴリズムで並行して協調的に動作できるようにします。

System.Object
  System.Threading.Barrier

Namespace:  System.Threading
アセンブリ:  System (System.dll 内)

public class Barrier : IDisposable

Barrier 型で公開されるメンバーは以下のとおりです。

  名前説明
パブリック メソッドBarrier(Int32)Barrier クラスの新しいインスタンスを初期化します。
パブリック メソッドBarrier(Int32, Action<Barrier>)Barrier クラスの新しいインスタンスを初期化します。
このページのトップへ

  名前説明
パブリック プロパティCurrentPhaseNumberバリアの現在のフェーズの番号を取得します。
パブリック プロパティParticipantCountバリア内の参加要素の合計数を取得します。
パブリック プロパティParticipantsRemaining現在のフェーズでまだ通知していないバリア内の参加要素の数を取得します。
このページのトップへ

  名前説明
パブリック メソッドAddParticipant参加要素が 1 つ追加されることを Barrier に通知します。
パブリック メソッドAddParticipants複数の参加要素が追加されることを Barrier に通知します。
パブリック メソッドDispose()Barrier クラスの現在のインスタンスによって使用されているすべてのリソースを解放します。
プロテクト メソッドDispose(Boolean)Barrier によって使用されているアンマネージ リソースを解放し、オプションでマネージ リソースも解放します。
パブリック メソッドEquals(Object)指定した Object が、現在の Object と等しいかどうかを判断します。 (Object から継承されます。)
プロテクト メソッドFinalizeObject がガベージ コレクションで再利用される前に、Object がリソースを解放して他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。)
パブリック メソッドGetHashCode特定の型のハッシュ関数として機能します。 (Object から継承されます。)
パブリック メソッドGetType現在のインスタンスの Type を取得します。 (Object から継承されます。)
プロテクト メソッドMemberwiseClone現在の Object の簡易コピーを作成します。 (Object から継承されます。)
パブリック メソッドRemoveParticipant参加要素が 1 つ削除されることを Barrier に通知します。
パブリック メソッドRemoveParticipants複数の参加要素が削除されることを Barrier に通知します。
パブリック メソッドSignalAndWait()参加要素がバリアに到達し、他のすべての参加要素もバリアに到達するまで待機することを通知します。
パブリック メソッドSignalAndWait(CancellationToken)キャンセル トークンを観察すると同時に、参加要素がバリアに到達し、他のすべての参加要素がバリアに到達するまで待機することを通知します。
パブリック メソッドSignalAndWait(Int32)32 ビット符号付き整数を使用してタイムアウトを計測し、参加要素がバリアに到達し、他のすべての参加要素もバリアに到達するまで待機することを通知します。
パブリック メソッドSignalAndWait(TimeSpan)TimeSpan オブジェクトを使用して時間間隔を計測し、参加要素がバリアに到達し、他のすべての参加要素もバリアに到達するまで待機することを通知します。
パブリック メソッドSignalAndWait(Int32, CancellationToken)キャンセル トークンを観察すると同時に、32 ビット符号付き整数を使用してタイムアウトを計測し、参加要素がバリアに到達し、他のすべての参加要素もバリアに到達するまで待機することを通知します。
パブリック メソッドSignalAndWait(TimeSpan, CancellationToken)キャンセル トークンを観察すると同時に、TimeSpan オブジェクトを使用して時間間隔を計測し、参加要素がバリアに到達し、他のすべての参加要素もバリアに到達するまで待機することを通知します。
パブリック メソッドToString現在のオブジェクトを表す文字列を返します。 (Object から継承されます。)
このページのトップへ

一連のフェーズを移動することによってタスク グループが協調動作します。グループ内の各タスクは、特定のフェーズで Barrier に到着したことを通知し、他のすべてのタスクの到着を暗黙的に待機します。同じ Barrier を複数のフェーズに使用できます。

バリアを使用する方法を次の例に示します。

Windows Phone OS

サポート: 8.0

Barrier のすべてのパブリックおよびプロテクト メンバーはスレッド セーフであり、複数のスレッドから同時に使用できます。ただし、Barrier に対する他のすべての操作が完了したときにのみ使用する必要がある Dispose は例外です。

表示:
© 2015 Microsoft