Heim >Java >javaLernprogramm >ConcurrentModificationException in Java mit Beispielen
In der java -multithread -Umgebung kann eine Ausnahme ausgelöst werden, wenn die Methode während der Ressourcenerkennung auf gleichzeitige Modifikationen trifft. Zu diesem Zeitpunkt befindet sich das Objekt in einem nicht modifizierten Zustand. ConcurrentModificationException
ConcurrentModificationException
<code class="language-java">Exception in thread "main" java.util.ConcurrentModificationException at java.base/java.util.ArrayList$Itr.checkForComodification(ArrayList.java:000) at java.base/java.util.ArrayList$Itr.next(ArrayList.java:000) at com.journaldev.ConcurrentModificationException.ConcurrentModificationExceptionExample.main(ConcurrentModificationExceptionExample.java:00)</code>
Die Erkennung und Iteration der Ausnahme sind in der
-Methode nicht definiert.modCount
Ausnahmealgorithmus ConcurrentModificationException
Dieser Algorithmus zeigt, wie man
java.util.ConcurrentModificationException
Ausnahme -Syntax ConcurrentModificationException
Die folgende Syntax zeigt, wie eine
ConcurrentModificationException
<code class="language-java">// ... (代码片段省略,与原文类似,但使用更简洁的变量名和注释) ...</code>Ausnahmen in einer Java -Umgebung generiert werden.
ConcurrentModificationException
<code class="language-java">for (Iterator<integer> iterator = integers.iterator(); iterator.hasNext();) { Integer integer = iterator.next(); if(integer == 2) { iterator.remove(); // 使用迭代器的remove()方法安全地移除元素 } }</integer></code>
next()
remove()
iterator.next()
ConcurrentModificationException
Ausnahmen treten normalerweise auf, wenn die Sammlung gleichzeitig geändert wird. In diesem Artikel wird beschrieben, wie diese Ausnahme vermieden wird, und liefert entsprechende Beispiele für Java -Code. Diese Ausnahme kann effektiv unter Verwendung von Thread-Safe-Sammlungsklassen wie CopyOnWriteArrayList
oder ConcurrentHashMap
sowie mit der Methode des Iterators vermieden werden. remove()
Das obige ist der detaillierte Inhalt vonConcurrentModificationException in Java mit Beispielen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!