Ich habe einen Code-Schnipsel unten. Ich habe 2 Threads A und B zur gleichen Zeit ausgeführt.Gibt es ConcurrentModificationException oder nicht in Schleife
List<String> listPeople = new ArrayList<>();
// Add more item
.....
Thread A
for (String item : listPeople) {
System.out.println("Name is: " + item.name);
}
Thread B
- add/remove item to list people
Bei dieser Form der for-Schleife, schleift er über iterator
der Liste. Wird es mit der ConcurrentModificationException
abstürzen?
Wie @Daniel Pryden in seiner Antwort erklärt, können Sie nicht darauf zählen. Manchmal kann es ConcurrentModificationException auslösen, andere Male möglicherweise nicht. –
Danke für Ihre Antwort. Aus Sicherheitsgründen sollte ich für (;;) aussagen, oder? –