Spec-Zone.ru › C++

std::atomic_notify_one

Defined in header <atomic>
template< class T >
void atomic_notify_one( std::atomic<T>* object );
(1) (since C++20)
template< class T >
void atomic_notify_one( volatile std::atomic<T>* object );
(2) (since 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/w/cpp/atomic/atomic_notify_one

Spec-Zone.ru

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