Als «atomic» getaggte Fragen

Eine atomare Operation ist unteilbar. Dieser Begriff wird unter anderem verwendet, um Transaktionen in Datenbanken, Zugriffe auf niedriger Ebene in Multithread-Programmen und Dateisystemoperationen zu beschreiben.

273
Was bedeutet "atomar" in der Programmierung?

Im Buch "Effective Java" heißt es: Die Sprachspezifikation garantiert, dass das Lesen oder Schreiben einer Variablen atomar ist, es sei denn, die Variable ist vom Typ longoder double[JLS, 17.4.7]. Was bedeutet "atomar" im Kontext der Java-Programmierung oder der Programmierung im...

172
Was genau ist std :: atomic?

Ich verstehe, dass dies std::atomic<>ein atomares Objekt ist. Aber inwieweit atomar? Nach meinem Verständnis kann eine Operation atomar sein. Was genau bedeutet es, ein Objekt atomar zu machen? Zum Beispiel, wenn zwei Threads gleichzeitig den folgenden Code ausführen: a = a + 12; Ist dann...

153
Kann num ++ für 'int num' atomar sein?

Im Allgemeinen ist for int num, num++(oder ++num) als Lese-, Änderungs- und Schreiboperation nicht atomar . Aber ich sehe oft, dass Compiler, zum Beispiel GCC , den folgenden Code dafür generieren ( versuchen Sie es hier ): num++Können wir daraus schließen, dass Zeile 5, die einer Anweisung...

116
AtomicInteger lazySet vs. set

Was ist der Unterschied zwischen lazySetund setMethoden von AtomicInteger? Die Dokumentation hat nicht viel zu sagen lazySet: Setzt schließlich auf den angegebenen Wert. Es scheint, dass der gespeicherte Wert nicht sofort auf den gewünschten Wert gesetzt wird, sondern so geplant wird, dass er...

105
Ist das Anhängen von Dateien unter UNIX atomar?

Was können wir im Allgemeinen als selbstverständlich betrachten, wenn wir aus mehreren Prozessen an eine Datei in UNIX anhängen? Ist es möglich, Daten zu verlieren (ein Prozess überschreibt die Änderungen des anderen)? Können Daten verstümmelt werden? (Beispielsweise hängt jeder Prozess eine Zeile...

86
atomare Betriebskosten

Was kostet die atomare Operation (Vergleich und Austausch oder atomares Addieren / Dekrementieren)? Wie viel Zyklen verbraucht es? Wird es andere Prozessoren auf SMP oder NUMA anhalten oder Speicherzugriffe blockieren? Wird der Nachbestellungspuffer in einer außer Betrieb befindlichen CPU...

74
Ist id = 1 - id atomar?

Ab Seite 291 der OCP Java SE 6 Programmer Practice Exams, Frage 25: public class Stone implements Runnable { static int id = 1; public void run() { id = 1 - id; if (id == 0) pick(); else release(); } private static synchronized void pick() { System.out.print("P "); System.out.print("Q "); }...