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