Spec-Zone.ru › C++

std::atomic_flag_notify_all

Определён в заголовочном файле <atomic>
void atomic_flag_notify_all( std::atomic_flag* object ) noexcept;
(1) (начиная с C++20)
void atomic_flag_notify_all( volatile std::atomic_flag* object ) noexcept;
(2) (начиная с C++20)

Выполняет атомарные операции уведомления.

Разблокирует все потоки, заблокированные в операциях атомарного ожидания (т. е. std::atomic_flag_wait(), std::atomic_flag_wait_explicit() или std::atomic_flag::wait()) для *object, если такие есть; в противном случае ничего не делает.

Эквивалентно object->notify_all().

Параметры

object - указатель на объект atomic_flag, которому отправляется уведомление

Возвращаемое значение

(нет)

Примечания

Такой способ обнаружения изменений зачастую эффективнее простого опроса или чистых спинлоков.

Пример

См. также

notify_one
(C++20)
уведомляет как минимум один поток, ожидающий атомарный объект
(открытая функция-член std::atomic_flag)
notify_all
(C++20)
уведомляет все потоки, заблокированные в ожидании атомарного объекта
(открытая функция-член std::atomic_flag)
atomic_flag_waitatomic_flag_wait_explicit
(C++20)(C++20)
блокирует поток до получения уведомления и изменения флага
(функция)
atomic_flag_notify_one
(C++20)
уведомляет поток, заблокированный в atomic_flag_wait
(функция)

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/atomic/atomic_flag_notify_all

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API