Pytania oznaczone «atomic»

Operacja atomowa jest niepodzielna. Termin ten jest używany między innymi do opisania transakcji w bazach danych, niskopoziomowych dostępów w programach wielowątkowych i operacji w systemie plików.

274
Co oznacza „atomowy” w programowaniu?

W książce Effective Java napisano: Specyfikacja języka gwarantuje, że odczyt lub zapis zmiennej jest niepodzielny, chyba że zmienna jest typu longlub double[JLS, 17.4.7]. Co oznacza „atomowy” w kontekście programowania Java lub programowania w

174
Czym dokładnie jest std :: atomic?

Rozumiem, że std::atomic<>jest to obiekt atomowy. Ale do jakiego stopnia atomowa? W moim rozumieniu operacja może być atomowa. Co dokładnie oznacza uczynienie obiektu atomowym? Na przykład, jeśli istnieją dwa wątki współbieżnie wykonujące następujący kod: a = a + 12; Czy zatem cała operacja...

116
AtomicInteger lazySet vs. set

Jaka jest różnica między metodami lazySeti ? Dokumentacji nie ma wiele do powiedzenia na temat :setAtomicIntegerlazySet Ostatecznie ustawia się na podaną wartość. Wydaje się, że przechowywana wartość nie zostanie natychmiast ustawiona na żądaną wartość, ale zamiast tego zostanie zaplanowana do...

91
koszt operacji atomowych

Jaki jest koszt operacji atomowej (dowolnej z opcji porównania i zamiany lub atomowego dodawania / zmniejszania)? Ile cykli zużywa? Czy wstrzyma inne procesory na SMP lub NUMA, czy też zablokuje dostęp do pamięci? Czy opróżni bufor zmiany kolejności w niesprawnym procesorze? Jakie efekty...

12
Inicjalizacja wektora atomowego

Rozważać: void foo() { std::vector<std::atomic<int>> foo(10); ... } Czy zawartość foo jest teraz aktualna? Czy też muszę je przejrzeć i zainicjować? Sprawdziłem Godbolt i wydaje się, że jest w porządku, jednak standard wydaje się być bardzo zagmatwany w tym punkcie. Konstruktor...

9
Czy ta implementacja C ++ AtomicInt jest poprawna?

Przesłanka: Pracuję w środowisku ARM (prawie bez systemu), w którym nawet nie mam C ++ 11 (z std::atomic<int>) dostępnym, więc proszę unikać odpowiedzi typu „ po prostu użyj standardowego C ++std::atomic<int> ”: nie mogę . Czy ta implementacja ARM AtomicInt jest poprawna? (załóżmy, że...