您的位置:首页 > 编程语言 > Java开发

java.util.ConcurrentModificationException异常处理

2011-12-09 16:09 465 查看
测试程序时,报java.util.ConcurrentModificationException异常。google后发现,是由于Iterator表示的哈希表变化造成的,代码如下:

Iterator<Entry<?, ?>> iterator = hash.entrySet();
while (iterator.hasNext()) {
......
}
在执行过程中,其他部分执行了hash.put或hash.remove,造成hash变化,这样就出现该异常了。另外,使用iterator.remove()可以直接删除当前项。

解决方法是,避免多个地方同时操作hash对象,如果必须这样,就加个lock判断:

if (!isLocking())
执行
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: