Libreria atomica C ++ - carica
Descrizione
Ottiene atomicamente il valore dell'oggetto atomico.
Dichiarazione
Di seguito è riportata la dichiarazione per std :: atomic :: load.
T load( std::memory_order order = std::memory_order_seq_cst ) const;
C ++ 11
T load( std::memory_order order = std::memory_order_seq_cst ) const volatile;
Parametri
order - Viene utilizzato per applicare i vincoli dell'ordine di memoria.
Valore di ritorno
Restituisce il valore corrente della variabile atomica.
Eccezioni
No-noexcept - questa funzione membro non genera mai eccezioni.
Esempio
Nell'esempio seguente per std :: atomic :: load.
#include <atomic>
#include <thread>
std::atomic<int> foo (0);
void set_foo(int x) {
foo.store(x,std::memory_order_relaxed);
}
void print_foo() {
int x;
do {
x = foo.load(std::memory_order_relaxed);
} while (x==0);
std::cout << "test: " << x << '\n';
}
int main () {
std::thread first (print_foo);
std::thread second (set_foo,10);
first.join();
second.join();
return 0;
}