std::atomic_notify_all
Von cppreference.com
| Definiert in Header <atomic> |
||
| template< class T > void atomic_notify_all( std::atomic<T>* object ); |
(1) | (seit C++20) |
| template< class T > void atomic_notify_all( volatile std::atomic<T>* object ); |
(2) | (seit C++20) |
Führt atomare Benachrichtigungsoperationen durch.
Entsperrt alle Threads, die in atomaren Warteoperationen blockiert sind (d.h. std::atomic_wait(), std::atomic_wait_explicit() oder std::atomic::wait()) auf *object, falls vorhanden; andernfalls geschieht nichts.
Äquivalent zu object->notify_all().
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)(C++20) |
blockiert den Thread, bis er benachrichtigt wird und der atomare Wert sich ändert (Funktions-Template) |
| (C++20) |
benachrichtigt einen Thread, der in atomic_wait blockiert ist (Funktions-Template) |