您的位置:首页 > 产品设计 > UI/UE

Exception in thread "AWT-EventQueue-0" java.util.ConcurrentModificationException

2011-10-20 09:22 666 查看
Exception in thread "AWT-EventQueue-0" java.util.ConcurrentModificationException

at java.util.AbstractList$Itr.checkForComodification(AbstractList.java:372)

at java.util.AbstractList$Itr.next(AbstractList.java:343)

at com.TankClient.paint(TankClient.java:30)

at com.TankClient.update(TankClient.java:50)

at sun.awt.RepaintArea.updateComponent(RepaintArea.java:239)

at sun.awt.RepaintArea.paint(RepaintArea.java:216)

at sun.awt.windows.WComponentPeer.handleEvent(WComponentPeer.java:301)

at java.awt.Component.dispatchEventImpl(Component.java:4486)

at java.awt.Container.dispatchEventImpl(Container.java:2116)

at java.awt.Window.dispatchEventImpl(Window.java:2429)

at java.awt.Component.dispatchEvent(Component.java:4240)

at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)

at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)

at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)

at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)

at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)

at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)

at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)

当方法检测到对象的并发修改,但不允许这种修改时,抛出此异常。

例如,某个线程在 Collection 上进行迭代时,通常不允许另一个线性修改该 Collection。通常在这些情况下,迭代的结果是不明确的。如果检测到这种行为,一些迭代器实现(包括 JRE 提供的所有通用 collection 实现)可能选择抛出此异常。执行该操作的迭代器称为快速失败 迭代器,因为迭代器很快就完全失败,而不会冒着在将来某个时间任意发生不确定行为的风险。

注意,此异常不会始终指出对象已经由不同 线程并发修改。如果单线程发出违反对象协定的方法调用序列,则该对象可能抛出此异常。例如,如果线程使用快速失败迭代器在 collection 上迭代时直接修改该 collection,则迭代器将抛出此异常。

所以出现这种异常的通畅情况是使用了Iterator的原因,比如list。

List<String> mm= new ArrayList<String>();

mm.add("1");mm.add("34");

for(String m : mm){

System.out.println(m);

}

如果有时他线程对它mm进行了修改,则抛出上面的异常。

如果要避免这种错误,那么就不要使用Iterator,写成:

for(int i = 0; i< mm.size();++i){

println(mm.get(i));

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐