nntp2http.com
Posting
Suche
Optionen
Hilfe & Kontakt

Re: ConcurrentModificationException

Von: Andre Weihe (andreweihe@gmx.de) [Profil]
Datum: 16.08.2008 18:38
Message-ID: <r90ea455clukonveoclqal3geor4rptt34@4ax.com>
Newsgroup: de.comp.lang.java
Peter Büttner wrote:

>Andre Weihe wrote:
>>[synchronized an der "richtigen Stelle"]

>Das ist IMHO was anderes. Wie oben beschrieben:
>Solange man iteriert ist die collection _absolut_ tabu, im gleichen
>oder einem anderen Thread.
>
>[...]
>
>Es gibt auch ein Queue interface, und in Collections kann man sich
>zu vielen Collections synchronisierte Versionen geben lassen, für
>das einfache Problem reicht das wohl.

Und in deren Beispielcode kann man auch sehen wo man ein synchronized
setzen muss damit eine Collection beim iterieren (für andere) Tabu
ist.

Copy-Paste von
http://java.sun.com/j2se/1.3/docs/api/java/util/Collections.html#synchronizedList(java.uti
l.List):

List list = Collections.synchronizedList(new ArrayList());
...
synchronized(list) {
Iterator i = list.iterator(); // Must be in synchronized block
while (i.hasNext())
foo(i.next());
}
--
"Shit Happens" according to...
Computer Science:
There's a bug somewhere in this shit!

[ Auf dieses Posting antworten ]