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.
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 std :: vector mówi, że wstawia instancje wstawione domyślniestd::atomic<int> …
Wysłuchałem i przeczytałem kilka artykułów, rozmów i pytań o przepełnienie stosu std::atomici chciałbym mieć pewność, że dobrze to zrozumiałem. Ponieważ nadal jestem trochę mylony z linią pamięci podręcznej zapisuje widoczność z powodu możliwych opóźnień w protokołach koherencji pamięci podręcznej MESI (lub pochodnych), buforach pamięci, unieważnianiu kolejek i tak dalej. Przeczytałem, …
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 architektura ARM to ARMv7-A ) Czy …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.