Spec-Zone.ru › C++

std::atomic_notify_one

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

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

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

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

Параметры

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

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

(отсутствует)

Примечания

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

Пример

См. также

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

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

Spec-Zone.ru

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