Структура atomic_flag
Описывает объект, который автоматически устанавливает и очищает флаг bool
. Операции с атомарными флагами всегда неблокирующие.
Синтаксис
struct atomic_flag;
Участники
Открытые методы
Имя | Описание |
---|---|
пусто | Устанавливает сохраненный флаг в значение false . |
test_and_set | Устанавливает сохраненный флаг в значение true и возвращает начальное значение флага. |
Замечания
Объекты atomic_flag
могут передаваться в функции atomic_flag_clear, atomic_flag_clear_explicit, atomic_flag_test_and_set и atomic_flag_test_and_set_explicit, которые не являются функциями-членами. Их можно инициализировать с помощью значения ATOMIC_FLAG_INIT
.
Требования
Заголовок:<atomic>
Пространство имен: std
atomic_flag::clear
Устанавливает флаг bool
, хранящийся в объекте *this
false
с соблюдением указанных ограничений memory_order.
void atomic_flag::clear(memory_order Order = memory_order_seq_cst) volatile noexcept;
void atomic_flag::clear(memory_order Order = memory_order_seq_cst) noexcept;
Параметры
Заказ
Перечисление memory_order.
atomic_flag::test_and_set
Устанавливает флаг bool
, хранящийся в объекте *this
true
с соблюдением указанных ограничений memory_order.
bool atomic_flag::test_and_set(memory_order Order = memory_order_seq_cst) volatile noexcept;
bool atomic_flag::test_and_set(memory_order Order = memory_order_seq_cst) noexcept;
Параметры
Заказ
Перечисление memory_order.
Возвращаемое значение
Начальное значение флага, который хранится в *this
.