[Thread][SYNCHRONIZED] problème de synchornisation
Bonjour,
j'ai écrit un objet Referenceur qui contient une liste d'objet, voici un résumé :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
|
public class Referenceur {
private List listeObjet;
Referenceur() {
listeObjet = new ArrayList();
}
public void addObject (Object o) {
listeObjet.add(o);
}
public void removeObject (Object o) {
listeObjet.remove(o);
}
public void removeOldObject () {
Iterator it = listeObject.iterator();
while (it.hasNext()) {
Object o = it.next();
...
}
}
} |
voici mon problème : si un ajout ou un retrait est effectué pendant que l'iterator parcours la liste il y a une exception du type :
Citation:
java.util.ConcurrentModificationException
at java.util.AbstractList$Itr.checkForComodification(Unknown Source)
at java.util.AbstractList$Itr.next(Unknown Source)
J'ai alors ajouté "synchronized" à la définition des méthodes addObject, removeObject et removeOldObject mais l'exception remonte toujours.
besoin d'aide... :(