我有2類內部線程類Main。有時,如果在刪除另一個元素的同時添加新元素,則會導致ConcurrentModificationException異常。我想我不知道如何同步它們。ConcurrentModificationException當多個線程訪問相同集合
Class Main{
HashSet<MyObject> set;
Thread A{
run(running){
...
set.add(obj);
...
}
}
Thread B{
run(){
while (running) {
for (Iterator<MyObject> i = set.iterator(); i.hasNext();) {
MyObject obj= i.next();
if (!obj.isSmt()) {
i.remove();
...
}
}
}
}
}
}
我相信語法是'synchronized(set ){...}'。 – Andreas