Morgen freaks,
ich habe ein grosses Problem und komme damit nicht klar.
Mein Programm dreht sich um eine Klasse. GUI's, und viele Klassen greifen auf eine Datenstruktur zu (Eine Liste von Objekte, alle desselben Typs). Da alles in Threads ablaeuft muss ich es synchronisieren, ich habe allerdings sehr wenig Wissen ueber dieses Thema und komme nicht weiter.
Die Threads greifen alle auf diese Datenstruktur zu und stellen sie in Tabellen dar oder veraendern Daten. Jetzt iteriere ich durch die Objekte und bekomme staendig den Fehler java.util.ConcurrentModificationException. Habe mal alle setter synchronisiert, aber das reicht nicht. Dann habe ich alle Methoden synchronisiert, aber dann ist das Programm zu langsam. Habe gelesen das ich mir ein Objekt anlegen muss, dass ich als Monitor verwenden muss. Ist dies die einzigste Moeglichkeit ein Objekt zu synchronisiere. Weil ich greife in mindestens. 25 Klassen auf diese Datenstruktur zu.
Vielleicht kann mir ja jemand helfen, Danke.
ich habe ein grosses Problem und komme damit nicht klar.
Mein Programm dreht sich um eine Klasse. GUI's, und viele Klassen greifen auf eine Datenstruktur zu (Eine Liste von Objekte, alle desselben Typs). Da alles in Threads ablaeuft muss ich es synchronisieren, ich habe allerdings sehr wenig Wissen ueber dieses Thema und komme nicht weiter.
Die Threads greifen alle auf diese Datenstruktur zu und stellen sie in Tabellen dar oder veraendern Daten. Jetzt iteriere ich durch die Objekte und bekomme staendig den Fehler java.util.ConcurrentModificationException. Habe mal alle setter synchronisiert, aber das reicht nicht. Dann habe ich alle Methoden synchronisiert, aber dann ist das Programm zu langsam. Habe gelesen das ich mir ein Objekt anlegen muss, dass ich als Monitor verwenden muss. Ist dies die einzigste Moeglichkeit ein Objekt zu synchronisiere. Weil ich greife in mindestens. 25 Klassen auf diese Datenstruktur zu.
Vielleicht kann mir ja jemand helfen, Danke.