ConcurrentModificationException

folgemilch

Mitglied
Hallo.

Ich habe folgendes Problem:
Eine SortedMap die mit einem Iterator durchlaufen wird liefert eine ConcurrentModificationException.
Macht auch Sinn, da ich in zwei verschiedenen Threads auf sie zugreife und durchlaufe.
Ich habs versucht zu lösen, indem ich die getMesswerte() Methode syncronized gemacht habe, hat aber nichts gebracht.

Code:
SortedMap darzustellendeWerte = sensor.getMesswerte().subMap(von, bis)
Set messZeiten = darzustellendeWerte.keySet();
for (Integer messZeitpunkt : messZeiten) {
Koordinate koordinaten = (Koordinate) darzustellendeWerte.get(messZeitpunkt); 

g2d.drawLine....koordinaten

(

Hat mir jemand einen guten Tipp?
(Eigentlich ist das Wetter heute viel zu schön um Java zu programmieren :) )
 

ice-breaker

Top Contributor
du musst den Zugriff auf die Map synchronisieren:
Java:
SortedMap darzustellendeWerte = sensor.getMesswerte().subMap(von, bis)
synchronized(darzustellendeWerte) {
  Set messZeiten = darzustellendeWerte.keySet();
  for (Integer messZeitpunkt : messZeiten) {
  Koordinate koordinaten = (Koordinate) darzustellendeWerte.get(messZeitpunkt); 

  g2d.drawLine....koordinaten
}

Denn wenn du die Methode sychronized machst, heisst das, nur einer kann gleichzeitig auf deinem sensor-Objekt arbeiten, aber du möchtest ja eigentlich, dass nur einer gleichzeitig auf der SortedMap arbeiten kann ;)

Eine ConcurrentSkipListMap funktioniert auch ohne Locking.
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
M ConcurrentModificationException Allgemeine Java-Themen 2
D java.util.ConcurrentModificationException tritt auf Allgemeine Java-Themen 12
F ConcurrentModificationException warum ? Allgemeine Java-Themen 7
K Collections java.util.ConcurrentModificationException Allgemeine Java-Themen 3
N ConcurrentModificationException Allgemeine Java-Themen 2
S java.util.ConcurrentModificationException - aber nur ein Thread Allgemeine Java-Themen 3
D java.util.ConcurrentModificationException - per Copy vermeiden Allgemeine Java-Themen 11
D java.util.ConcurrentModificationException bei ArrayList Allgemeine Java-Themen 2
P Vectoren bearbeiten: ConcurrentModificationException Allgemeine Java-Themen 4
B ConcurrentModificationException Allgemeine Java-Themen 3
G ConcurrentModificationException - finds nicht Allgemeine Java-Themen 5
S Fehler ConcurrentModificationException Allgemeine Java-Themen 8
R java.util.ConcurrentModificationException vermeiden? Allgemeine Java-Themen 8
R ConcurrentModificationException Allgemeine Java-Themen 9
D ConcurrentModificationException nicht nachvollziehbar Allgemeine Java-Themen 8
K Threading - schreiben auf Hashmap/löschen - ConcurrentModificationException Allgemeine Java-Themen 3
J java.util.ConcurrentModificationException bei HashMap? Allgemeine Java-Themen 2
G ConcurrentModificationException Allgemeine Java-Themen 4
E ConcurrentModificationException Allgemeine Java-Themen 6
R ConcurrentModificationException trotz synchronized? Allgemeine Java-Themen 12
P java.util.ConcurrentModificationException Allgemeine Java-Themen 9
M ConcurrentModificationException Allgemeine Java-Themen 6
S ConcurrentModificationException Allgemeine Java-Themen 4

Ähnliche Java Themen

Neue Themen


Oben