Namespaces
Variants

std::experimental::barrier:: arrive_and_drop

From cppreference.net
void arrive_and_drop ( ) ;
(並行処理 TS)

バリアの同期ポイントに到達し、現在のスレッドを参加スレッドのセットから削除します。この関数が完了フェーズが終了するまでブロックするかどうかは未規定です。

このバリアの参加スレッドのセット内に呼び出しスレッドが存在しない場合、動作は未定義です。

arrive_and_drop への呼び出しは、バリアの完了フェーズの開始と同期します。呼び出しがブロックする場合、完了フェーズの終了は呼び出しからの戻りと同期します。

arrive_and_drop および arrive_and_wait への呼び出しは、自身または互いとの間でデータ競合を引き起こすことはありません。

例外

例外を送出しません。

注記

すべての参加スレッドが arrive_and_drop() を呼び出す場合、バリアは破棄のみ可能となります。

スレッドがバリアで arrive_and_drop() を呼び出した後、そのスレッドは参加スレッドのセットのメンバーではなくなるため、同じバリアに対して arrive_and_drop() または arrive_and_wait() を呼び出すことはできなくなります。

関連項目

同期ポイントに到着してブロックする
(公開メンバ関数)