atomic_flag_test_and_set, atomic_flag_test_and_set_explicit
Von cppreference.com
| Definiert im Header <stdatomic.h> |
||
| _Bool atomic_flag_test_and_set( volatile atomic_flag* obj ); |
(1) | (seit C11) |
| _Bool atomic_flag_test_and_set_explicit( volatile atomic_flag* obj, memory_order order ); |
(2) | (seit C11) |
Ändert atomar den Zustand eines von obj zeigenden atomic_flag auf gesetzt (true) und gibt den vorherigen Wert zurück. Die erste Version ordnet Speicherzugriffe gemäß memory_order_seq_cst, die zweite Version ordnet Speicherzugriffe gemäß order.
Das Argument ist ein Zeiger auf ein volatiles atomares Flag, um Adressen sowohl von nicht-volatilen als auch von volatilen (z. B. speicherprogrammierter E/A) atomaren Flags zu akzeptieren.
Inhalt |
[bearbeiten] Parameter
| obj | - | Zeiger auf das zu modifizierende atomare Flag-Objekt |
| Reihenfolge | - | Die Speicher-Synchronisierungsordnung für diese Operation: alle Werte sind zulässig |
[bearbeiten] Rückgabewert
Der vorherige Wert des von obj zeigenden atomaren Flags.
[bearbeiten] Referenzen
- C17-Standard (ISO/IEC 9899:2018)
- 7.17.8.1 The atomic_flag_test_and_set functions (S. 209)
- C11-Standard (ISO/IEC 9899:2011)
- 7.17.8.1 The atomic_flag_test_and_set functions (S. 285-286)
[bearbeiten] Siehe auch
| setzt ein atomic_flag auf false (Funktion) | |
| C++ Dokumentation für atomic_flag_test_and_set, atomic_flag_test_and_set_explicit
| |