Rozważmy te dwa warianty:Jaka jest różnica między jawnym obciążeniem/magazynem a zwykłym operatorem = a operatorem T?
std::atomic<int> a;
a = 1;
int b = a;
i
std::atomic<int> a;
a.store(1);
int b = a.load();
widzę z dokumentacji, że drugi jest całkowicie atomowej, ale nie rozumiem, kiedy należy używać która i jaka jest różnica szczegółowo.
Warto zauważyć, że 'memory_order_seq_cst' jest najsilniejszym uporządkowaniem pamięci. Nie ma powodu, aby określać inną, inną niż poprawa wydajności w sytuacjach, w których nie potrzebujesz pełnej sekwencyjnej spójności. – Sneftel
Preferuję 'load' /' store', ponieważ oznacza to, że zmienna jest atomowa, poprawia czytelność kodu! –