std::atomic_ref<T>::notify_one
Von cppreference.com
< cpp | atomic | atomic ref
void notify_one() const noexcept; |
(constexpr seit C++26) | |
Führt atomare Benachrichtigungsoperationen durch.
Wenn ein Thread in einer atomaren Warteoperation blockiert ist (d.h. wait()) auf *ptr, dann wird mindestens ein solcher Thread entblockiert; andernfalls wird nichts unternommen. Diese Überladung nimmt nur an der Überladungsauflösung teil, wenn std::is_const_v<T> false ist.
Inhalt |
[editieren] Anmerkungen
Diese Form der Änderungsdetektion ist oft effizienter als einfaches Polling oder reine Spinlocks.
[editieren] Beispiel
| Dieser Abschnitt ist unvollständig Grund: kein Beispiel |
Defect reports
Die folgenden Verhaltensändernden Fehlerberichte wurden rückwirkend auf zuvor veröffentlichte C++-Standards angewendet.
| DR | angewendet auf | Verhalten wie veröffentlicht | Korrigiertes Verhalten |
|---|---|---|---|
| LWG 3508 (P3323R1) |
C++20 | notify_one war bedeutungslos für const T |
constrained to accept only non-const T |
[editieren] Siehe auch
| blockiert den Thread, bis er benachrichtigt wird und der atomare Wert sich ändert (public member function) | |
| (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) |