MStumpp / pse13ss13-app

shares the application code for the PSE13SS13 project
1 stars 1 forks source link

Concurrent Exception -> Performance beim Wegpunkte verschieben #208

Open themk opened 11 years ago

themk commented 11 years ago

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.

floscher commented 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.

(Quelle: JavaDoc zur ConcurrentModificationException)