原因:对list 、map 等迭代的时进行修改就会抛出java.util.ConcurrentModificationException异常

比如:

public synchronized void setSegmentStatus(NewNet seg, String msg) {
if(segstatusmap.containsKey(msg)){
segstatusmap.get(msg).add(seg);
}else{
List<NewNet> newNets = new ArrayList<NewNet>();
newNets.add(seg);
segstatusmap.put(msg, newNets);
}
//更新网段当前执行状态,去除重复newnet
if(msg.equals("正在检查")){ for(NewNet n:segstatusmap.get("未开始")){
if(seg.equals(n)){
segstatusmap.get("未开始").remove(n);
}
}
for(NewNet n:segstatusmap.get("未开始")){
if(seg.equals(n)){
segstatusmap.get("未开始").remove(n);
}
}
}else if(msg.equals("已完成")){
for(NewNet n:segstatusmap.get("未开始")){
if(seg.equals(n)){
segstatusmap.get("未开始").remove(n);
}
}
for(NewNet n:segstatusmap.get("正在检查")){
if(seg.equals(n)){
segstatusmap.get("正在检查").remove(n);
}
}
}

这段代码中 对 map :segstatusmap 遍历进行了remove操作, 报错如题。
解决方法:

用Iterator 的remove()

最新文章

  1. BPM生产安全管理解决方案分享
  2. BFS
  3. 多个相同name的文本输入框,输入其中一个后,使剩下的不能输入值
  4. moment 和ko 绑定msdate格式的日期值(静态text)
  5. 获取Spring-boot系统环境变量方法
  6. 创建featureclass,为它赋别名,并移动到数据集下
  7. Chrome 建立SOCKS5代理
  8. bootstrap table 行号 显示行号 添加行号 bootstrap-table 行号
  9. Ubuntu mysql中文乱码解决
  10. 概率图论PGM的D-Separation(D分离)
  11. Java SE 8 流库
  12. 深入浅出Java分布式系统通信
  13. iOS积分抽奖Demo,可以人为控制不同奖项的得奖率
  14. Markdown语法及编辑器
  15. python中urllib的整理
  16. shell实现每天0点备份mysql数据库
  17. p1654 OSU!
  18. JSP内置对象——application对象
  19. 有关maven不能加载ojdbc14.jar解决方法
  20. 为什么会出现__pycache__文件夹?

热门文章

  1. 远程调用服务框架-CXF(WebServic)
  2. shiro实现无状态的会话,带源码分析
  3. Hibernate框架学习之注解配置关系映射
  4. ubuntu server小技巧(不定期更新)
  5. Spring JDBC 示例
  6. Unity3D高性能战争迷雾实现
  7. 深入学习JS执行--创建执行上下文(变量对象,作用域链,this)
  8. UWP更改标题栏颜色
  9. unity android相互调用
  10. 简述Handler机制