std::atomic_notify_one - cppreference.com

From cppreference.com

Defined in header

<atomic>

template<classT>voidatomic_notify_one(std::atomic<T>*object); (1) (since C++20)template<classT>voidatomic_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()

, 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

See also

(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]