Warum tritt in Java eine Ausnahme bei gleichzeitiger Änderung auf?

Inhaltsverzeichnis:

Warum tritt in Java eine Ausnahme bei gleichzeitiger Änderung auf?
Warum tritt in Java eine Ausnahme bei gleichzeitiger Änderung auf?
Anonim

Die ConcurrentModificationException tritt auf, wenn ein Objekt gleichzeitig geändert werden soll, obwohl es nicht zulässig ist. Diese Ausnahme tritt normalerweise auf, wenn man mit Java Collection-Klassen arbeitet. Zum Beispiel - Es ist einem Thread nicht erlaubt, eine Sammlung zu ändern, wenn ein anderer Thread darüber iteriert.

Wie behebe ich die Ausnahme gleichzeitiger Änderungen?

Wir können die Concurrent Modification Exception auch in einer Single-Thread-Umgebung vermeiden. Wir können die Methode remove von Iterator verwenden, um das Objekt aus dem zugrunde liegenden Sammlungsobjekt zu entfernen. Aber in diesem Fall können Sie nur dasselbe Objekt und keine anderen Objekte aus der Liste entfernen.

Wie verhindern Sie gleichzeitige Änderungsausnahmen auf einer Karte?

use ConcurrentHashMap. Verwenden Sie weiterhin einfache HashMap, aber erstellen Sie bei jeder Änderung eine neue Karte und wechseln Sie die Karten hinter den Kulissen (Synchronisieren der Wechseloperation oder Verwenden von AtomicReference)

Welche Methode des Iterators löst gleichzeitige Änderungsausnahme aus?

Wenn wir eine Folge von Methoden für ein Objekt aufrufen, das gegen seinen Vertrag verstößt, löst das Objekt ConcurrentModificationException aus. Beispiel: Wenn wir beim Iterieren über die Sammlung direkt versuchen, diese Sammlung zu ändern, löst der angegebene fail-fast iterator diese ConcurrentModificationException aus.

Was ist die gleichzeitige Änderungsausnahme im Java-Stapelüberlauf?

Wenn ein einzelner Thread eine Folge von Methodenaufrufen ausgibt, die den Vertrag eines Objekts verletzt, kann das Objekt diese Ausnahme auslösen. Wenn beispielsweise ein Thread eine Sammlung direkt ändert, während er mit einem Fail-Fast-Iterator über die Sammlung iteriert, löst der Iterator diese Ausnahme aus.

Empfohlen:

Interessante Beiträge
Was sind die Vorteile der Vielzelligkeit?
Weiterlesen

Was sind die Vorteile der Vielzelligkeit?

Vielzellige Organismen haben somit den Wettbewerbsvorteil einer Vergrößerung ohne Einschränkungen. Sie können eine längere Lebensdauer haben, da sie weiterleben können, wenn einzelne Zellen sterben. Die Mehrzelligkeit ermöglicht auch eine zunehmende Komplexität, indem sie die Differenzierung von Zelltypen innerhalb eines Organismus ermöglicht.

Schneit es in Aalborg?
Weiterlesen

Schneit es in Aalborg?

Das ganze Jahr über gibt es in Aalborg, 29,4 Schneetage, und 180 mm (7,09") Schnee werden angehäuft. Schneit es in Dänemark jemals? Schneefälle treten von November bis zur ersten Aprilhälfte auf. In einem Jahr gibt es 20/25 Tage mit Schneefall.

Könnte der Bogenschütze Gilgamesch besiegen?
Weiterlesen

Könnte der Bogenschütze Gilgamesch besiegen?

Der Vorteil, den Archer durch sein edles Phantasma erhält, ist die Fähigkeit, Gilgamesch und sein Tor von Babylon vollständig zu überwältigen, wodurch es effektiv unbrauchbar wird. … Archer würde ihn umhauen, bevor er überhaupt die Chance dazu hätte.