std::atomic_notify_one
Von cppreference.com
| Definiert in Header <atomic> |
||
| template< class T > void atomic_notify_one( std::atomic<T>* object ); |
(1) | (seit C++20) |
| template< class T > void atomic_notify_one( volatile std::atomic<T>* object ); |
(2) | (seit C++20) |
Führt atomare Benachrichtigungsoperationen durch.
Wenn ein Thread in einer atomaren Warteoperation blockiert ist (d.h. std::atomic_wait(), std::atomic_wait_explicit() oder std::atomic::wait()) auf *object, dann wird *mindestens* ein solcher Thread entsperrt; andernfalls geschieht nichts.
Äquivalent zu object->notify_one().
Inhalt |
[bearbeiten] Parameter
| Objekt | - | Zeiger auf das atomare Objekt, das benachrichtigt werden soll |
[bearbeiten] Rückgabewert
(keine)
[bearbeiten] Hinweise
Diese Form der Änderungsdetektion ist oft effizienter als einfaches Polling oder reine Spinlocks.
[bearbeiten] Beispiel
| Dieser Abschnitt ist unvollständig Grund: kein Beispiel |
[bearbeiten] Siehe auch
| (C++20) |
benachrichtigt mindestens einen Thread, der auf das atomare Objekt wartet (öffentliche Memberfunktion von std::atomic<T>) |
| (C++20) |
benachrichtigt alle Threads, die auf das atomare Objekt warten (öffentliche Memberfunktion von std::atomic<T>) |
| (C++20) |
benachrichtigt alle Threads, die in atomic_wait blockiert sind (Funktions-Template) |
| (C++20)(C++20) |
blockiert den Thread, bis er benachrichtigt wird und der atomare Wert sich ändert (Funktions-Template) |