次の方法で共有


tile_barrier クラス

wait メソッドを使用してスレッド グループ (タイル) で実行されているスレッドの実行を同期します。 ランタイムのみがこのクラスをインスタンス化できます。

構文

class tile_barrier;

メンバー

パブリック コンストラクター

名前 説明
tile_barrier コンストラクター tile_barrier クラスの新しいインスタンスを初期化します。

パブリック メソッド

名前 説明
待機 タイルのすべてのスレッドの待機が完了するまで、スレッド グループ (タイル) のすべてのスレッドの実行を停止するように指示します。
wait_with_all_memory_fence すべての メモリ アクセスが完了し、タイルのすべてのスレッドがこの呼び出しに到達するまで、タイルのすべてのスレッドの実行をブロックします。
wait_with_global_memory_fence すべてのグローバル メモリ アクセスが完了し、タイルのすべてのスレッドがこの呼び出しに到達するまで、タイルのすべてのスレッドの実行をブロックします。
wait_with_tile_static_memory_fence すべての tile_static メモリ アクセスが完了し、タイルのすべてのスレッドがこの呼び出しに到達するまで、タイルのすべてのスレッドの実行をブロックします。

継承階層

tile_barrier

要件

ヘッダー: amp.h

名前空間: Concurrency

tile_barrier コンストラクター

既存のクラスをコピーして、クラスの新しいインスタンスを初期化します。

構文

tile_barrier(
    const tile_barrier& _Other ) restrict(amp,cpu);

パラメーター

_Other
コピーする tile_barrier オブジェクトです。

wait

タイルのすべてのスレッドの待機が完了するまで、スレッド グループ (タイル) のすべてのスレッドの実行を停止するように指示します。

構文

void wait() const restrict(amp);

wait_with_all_memory_fence

タイルのすべてのスレッドがこの呼び出しに到達するまで、タイルのすべてのスレッドの実行をブロックします。 これによって、すべてのメモリ アクセスがスレッド タイルの他のスレッドから参照でき、プログラムの順序で実行されます。

構文

void wait_with_all_memory_fence() const restrict(amp);

wait_with_global_memory_fence

タイルのすべてのスレッドがこの呼び出しに到達するまで、タイルのすべてのスレッドの実行をブロックします。 これによって、すべてのグローバル メモリ アクセスがスレッド タイルの他のスレッドから参照でき、プログラムの順序で実行されます。

構文

void wait_with_global_memory_fence() const  restrict(amp);

wait_with_tile_static_memory_fence

タイルのすべてのスレッドがこの呼び出しに到達するまで、タイルのすべてのスレッドの実行をブロックします。 これによって、tile_static メモリ アクセスがスレッド タイルの他のスレッドから参照でき、プログラムの順序で実行されます。

構文

void wait_with_tile_static_memory_fence() const restrict(amp);

関連項目

コンカレンシー名前空間 (C++ AMP)