|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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(volatilestd::atomic<T>* object); | (2) | (since C++20) |
Performs atomic notifying operations.
If there is a thread blocked in atomic waiting operation (i.e.std::atomic_wait(),std::atomic_wait_explicit(), orstd::atomic::wait()) on*object, then unblocksat least one such thread; otherwise does nothing.
Equivalent toobject->notify_one().
Contents |
| object | - | pointer to the atomic object to notify |
(none)
This form of change-detection is often more efficient than simple polling or pure spinlocks.
| This section is incomplete Reason: no example |
(C++20) | notifies at least one thread waiting on the atomic object (public member function of std::atomic<T>)[edit] |
(C++20) | notifies all threads blocked waiting on the atomic object (public member function of std::atomic<T>)[edit] |
(C++20) | notifies all threads blocked in atomic_wait (function template)[edit] |
(C++20)(C++20) | blocks the thread until notified and the atomic value changes (function template)[edit] |