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 | - | указатель на атомарный объект, который необходимо уведомить |
Возвращаемое значение
(нет)
Примечания
Этот вид обнаружения изменений часто более эффективен, чем простое опробование или чистые спин-блоки.
Пример
См. также
|
(C++20) |
уведомляет по крайней мере один поток, ожидающий атомарного объекта (публичный член-функция std::atomic<T>) |
|
(C++20) |
уведомляет все заблокированные потоки, ожидающие атомарного объекта (публичный член-функция std::atomic<T>) |
|
(C++20) |
уведомляет все потоки, заблокированные в atomic_wait (шаблон функции) |
|
(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