Spec-Zone.ru › C++

std::atomic_ref<T>::notify_all

void notify_all() const noexcept;
(constexpr с C++26)

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

Разблокирует все потоки, заблокированные в операциях атомарного ожидания (т. е. wait()) на *ptr, если такие есть; в противном случае ничего не делает. Эта перегрузка участвует в разрешении перегрузки только в том случае, если std::is_const_v<T> — это false.

Примечания

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

Пример

Отчёты об ошибках

Следующие отчёты об ошибках, изменяющие поведение, были применены задним числом к ранее опубликованным стандартам C++.

Отчёт об ошибке Применяется к Поведение согласно опубликованному стандарту Корректное поведение
LWG 3508
(P3323R1)
C++20 notify_all не имело смысла для constT ограничено приёмом только неконстантных T

См. также

wait
блокирует поток до получения уведомления и изменения атомарного значения
(открытая функция-член)
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_ref/notify_all

Spec-Zone.ru

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