D.3.5. std::atomic_thread_fence, функция
Функция std::atomic_thread_fence() вставляет в программу «барьер», чтобы принудительно обеспечить упорядочение доступа к памяти со стороны нескольких операций.
Объявление
extern "С" void atomic_thread_fence(std::memory_order order);
Результат
Вставляет барьер с требуемыми ограничениями на упорядочение доступа к памяти.
Барьер, для которого параметр order равен std::memory_order_release, std::memory_order_acq_rel или std::memory_order_seq_cst синхронизируется-с операцией захвата некоторой ячейки памяти, если эта операция читает значение, сохраненное атомарной операцией, следующей за барьером в том же потоке, где поставлен барьер.
Операция освобождения синхронизируется-с барьером, для которого параметр order равен std::memory_order_acquire, std::memory_order_acq_rel или std::memory_order_seq_cst, если эта операция освобождения сохраняет значение, которое читается атомарной операцией, предшествующей барьеру, в том же потоке, где поставлен барьер.
Исключения
Нет.