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.
Was bedeutet atomicund nonatomicbedeutet in Eigentumserklärungen? @property(nonatomic, retain) UITextField *userName; @property(atomic, retain) UITextField *userName; @property(retain) UITextField *userName; Was ist der betriebliche Unterschied zwischen diesen drei?
Wie funktioniert atomar / flüchtig / synchronisiert intern? Was ist der Unterschied zwischen den folgenden Codeblöcken? Code 1 private int counter; public int getNextUniqueIndex() { return counter++; } Code 2 private AtomicInteger counter; public int getNextUniqueIndex() { return counter.getAndIncrement(); } Code 3 private volatile int counter; public int getNextUniqueIndex() { …
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 Allgemeinen?
Ich verstehe irgendwie, dass AtomicInteger und andere Atomic-Variablen gleichzeitige Zugriffe ermöglichen. In welchen Fällen wird diese Klasse normalerweise verwendet?
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 die gesamte Operation (sagen wir …
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 entspricht, in diesem …
Ich weiß, dass zusammengesetzte Operationen, wie sie i++nicht threadsicher sind, mehrere Operationen beinhalten. Aber ist das Überprüfen der Referenz mit sich selbst eine thread-sichere Operation? a != a //is this thread-safe Ich habe versucht, dies zu programmieren und mehrere Threads zu verwenden, aber es ist nicht fehlgeschlagen. Ich konnte wohl …
Wenn zwei Threads auf eine globale Variable zugreifen, wird in vielen Tutorials angegeben, dass die Variable flüchtig ist, um zu verhindern, dass der Compiler die Variable in einem Register zwischenspeichert und sie daher nicht korrekt aktualisiert wird. Zwei Threads, die beide auf eine gemeinsam genutzte Variable zugreifen, erfordern Schutz über …
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 irgendwann in der Zukunft eingestellt wird. Aber …
Was ist der Unterschied zwischen atomar und kritisch in OpenMP? Ich kann dies tun #pragma omp atomic g_qCount++; aber ist das nicht dasselbe wie #pragma omp critical g_qCount++; ?
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 pro Anhang an eine Protokolldatei an. Ist es …
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 geleert? Welche Auswirkungen werden auf den Cache haben? Ich interessiere mich …
bool compare_exchange_weak (T& expected, T val, ..); compare_exchange_weak()ist eines der in C ++ 11 bereitgestellten Vergleichsaustausch-Grundelemente. Es ist schwach in dem Sinne, dass es false zurückgibt, selbst wenn der Wert des Objekts gleich ist expected. Dies ist auf einen falschen Fehler auf einigen Plattformen zurückzuführen, auf denen eine Folge von …
Gibt es eine Möglichkeit, sich vor gleichzeitigen Änderungen desselben Datenbankeintrags durch zwei oder mehr Benutzer zu schützen? Es wäre akzeptabel, dem Benutzer, der den zweiten Commit / Save-Vorgang ausführt, eine Fehlermeldung anzuzeigen, aber die Daten sollten nicht stillschweigend überschrieben werden. Ich denke, das Sperren des Eintrags ist keine Option, da …
Für etwas Einfaches wie einen Zähler, wenn mehrere Threads die Anzahl erhöhen. Ich habe gelesen, dass Mutex-Sperren die Effizienz verringern können, da die Threads warten müssen. Für mich wäre ein Atomzähler am effizientesten, aber ich habe gelesen, dass es sich im Grunde genommen im Grunde genommen um ein Schloss handelt. …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.