Spec-Zone.ru › C++

std::atomic_ref<T>::notify_one

void notify_one() const noexcept;
(constexpr since C++26)

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

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

Примечания

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

Пример

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

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

Отчёт об ошибке Применяется к Опубликованное поведение Корректное поведение
LWG 3508
(P3323R1)
C++20 notify_one не имело смысла для 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_one

Spec-Zone.ru

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