Spec-Zone.ru › C++

std::atomic_notify_all

Определено в заголовке <atomic>
template< class T >
void atomic_notify_all( std::atomic<T>* object );
(1) (начиная с C++20)
template< class T >
void atomic_notify_all( volatile std::atomic<T>* object );
(2) (начиная с C++20)

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

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

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

Параметры

object - указатель на атомарный объект, который нужно уведомить

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

(нет)

Примечания

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

Пример

См. также

notify_one
(C++20)
уведомляет как минимум один поток, ожидающий атомарный объект
(открытая функция-член std::atomic<T>)
notify_all
(C++20)
уведомляет все потоки, заблокированные в ожидании атомарного объекта
(открытая функция-член std::atomic<T>)
atomic_waitatomic_wait_explicit
(C++20)(C++20)
блокирует поток до получения уведомления и изменения атомарного значения
(шаблон функции)
atomic_notify_one
(C++20)
уведомляет поток, заблокированный в atomic_wait
(шаблон функции)

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

Spec-Zone.ru

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