Класс 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);

См. также

Пространство имен Concurrency (C++ AMP)