Open themk opened 11 years ago
Zur ConcurrentModificationException habe ich noch folgendes recherchiert:
Die Map oder Liste muss nicht unbedingt von mehreren Threads bearbeitet worden sein, sondern sie tritt dann auf, wenn man über eine Liste iteriert, diese verändert wird und man anschließend versucht, darüber weiter zu iterieren. Und zwar auch, wenn das alles in ein und dem selben Thread passiert. Wohlgemerkt: Die Exception kann, muss aber nicht zwangsläufig auftreten.
Auslagerung aus: https://github.com/MStumpp/pse13ss13-app/issues/194 Problem ist dort beschrieben. Kurz gesagt: Die Concurrent Exception sollte jetzt nicht mehr auftreten, da Route.getCoordinates() einen Clone und nicht die eigentliche Liste der Routen Coordinaten übergibt. Das kostet aber Performance in Fällen, in denen diese Methode oft aufgerufen wird. Lösungsansätze (wenn Zeit):
edit: Lösungsansatz implementiert. Muss noch ausführlicher getestet werden. Bitte kommentieren, falls ConcurrentException auftritt.