Scroll to navigation

std::atomic_notify_one(3) C++ Standard Libary std::atomic_notify_one(3)

NAME

std::atomic_notify_one - std::atomic_notify_one

Synopsis


Defined in header <atomic>
template< class T > (1) (since C++20)
void atomic_notify_one( std::atomic<T>* object );
template< class T > (2) (since C++20)
void atomic_notify_one( volatile std::atomic<T>* object );


Performs atomic notifying operations.


If there is a thread blocked in atomic waiting operation (i.e. std::atomic_wait(),
std::atomic_wait_explicit(), or std::atomic::wait()) on *object, then unblocks at
least one such thread; otherwise does nothing.


Equivalent to object->notify_one().

Parameters


object - pointer to the atomic object to notify

Return value


(none)

Notes


This form of change-detection is often more efficient than simple polling or pure
spinlocks.

Example


This section is incomplete
Reason: no example

See also


notify_one notifies at least one thread waiting on the atomic object
(C++20) (public member function of std::atomic<T>)
notify_all notifies all threads blocked waiting on the atomic object
(C++20) (public member function of std::atomic<T>)
atomic_notify_all notifies all threads blocked in atomic_wait
(C++20) (function template)
atomic_wait
atomic_wait_explicit blocks the thread until notified and the atomic value changes
(C++20) (function template)
(C++20)

Category:


* Todo no example

2024.06.10 http://cppreference.com