Namensräume
Varianten
Aktionen

std::atomic_load, std::atomic_load_explicit

Von cppreference.com
< cpp‎ | atomic
 
 
Bibliothek für nebenläufige Programmierung
Threads
(C++11)
(C++20)
this_thread Namespace
(C++11)
(C++11)
(C++11)
Kooperatives Beenden
Gegenseitiger Ausschluss
(C++11)
Allgemeines Sperrungsmanagement
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
Bedingungsvariablen
(C++11)
Semaphoren
Latches und Barriers
(C++20)
(C++20)
Futures
(C++11)
(C++11)
(C++11)
(C++11)
Sichere Wiederherstellung
(C++26)
Hazard Pointer
Atomare Typen
(C++11)
(C++20)
Initialisierung von atomaren Typen
(C++11)(veraltet in C++20)
(C++11)(veraltet in C++20)
Speicherordnung
(C++11)(deprecated in C++26)
Freie Funktionen für atomare Operationen
atomic_loadatomic_load_explicit
(C++11)(C++11)
Freie Funktionen für atomare Flags
 
Definiert in Header <atomic>
template< class T >
T atomic_load( const std::atomic<T>* obj ) noexcept;
(1) (seit C++11)
template< class T >
T atomic_load( const volatile std::atomic<T>* obj ) noexcept;
(2) (seit C++11)
template< class T >

T atomic_load_explicit( const std::atomic<T>* obj,

                        std::memory_order order ) noexcept;
(3) (seit C++11)
template< class T >

T atomic_load_explicit( const volatile std::atomic<T>* obj,

                        std::memory_order order ) noexcept;
(4) (seit C++11)
1,2) Atomarer Zugriff auf den Wert, auf den obj zeigt, als ob obj->load() aufgerufen würde.
3,4) Atomarer Zugriff auf den Wert, auf den obj zeigt, als ob obj->load(order) aufgerufen würde.
Wenn order einer der Werte std::memory_order_release oder std::memory_order_acq_rel ist, ist das Verhalten undefiniert.

[bearbeiten] Parameter

obj - Zeiger auf das zu modifizierende atomare Objekt
Reihenfolge - die Speicherordnungssynchronisation für diese Operation

[bearbeiten] Rückgabewert

Der Wert, der vom atomaren Objekt gehalten wird, auf das obj zeigt.

[bearbeiten] Siehe auch

erhält atomar den Wert des atomaren Objekts
(öffentliche Memberfunktion von std::atomic<T>) [bearbeiten]
ersetzt atomar den Wert des atomaren Objekts durch ein nicht-atomares Argument
(Funktions-Template) [bearbeiten]
definiert Speicherordnungseinschränkungen für die gegebene atomare Operation
(Enum) [bearbeiten]
spezialisiert atomare Operationen für std::shared_ptr
(function template)
C-Dokumentation für atomic_load, atomic_load_explicit