Scroll to navigation

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

NAME

std::atomic_notify_all - std::atomic_notify_all

Synopsis


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


Performs atomic notifying operations.


Unblocks all threads blocked in atomic waiting operations (i.e. std::atomic_wait(),
std::atomic_wait_explicit(), or std::atomic::wait()) on *object, if there are any;
otherwise does nothing.


Equivalent to object->notify_all().

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_wait
atomic_wait_explicit blocks the thread until notified and the atomic value changes
(C++20) (function template)
(C++20)
atomic_notify_one notifies a thread blocked in atomic_wait
(C++20) (function template)

Category:


* Todo no example

2024.06.10 http://cppreference.com