出这问题原因:(简单明了,不看源码,先知道原因,再深究为何)


有2个可能:
一种是,在for each循环的时候改变了list集合的大小。
二是,在多线程下操作一个集合,在修改集合位置的时候,同时又循环list就出问题啦。就是多线程不安全的问题。


所以大家以后迭代集合的同时对集合操作一定要小心又小心, 不要以为没有抛异常就是没事!
而且在多线程并发的时候, 一个线程要迭代, 一个线程要对集合操作的时候,  抛不抛异常就要撞大运了!  


要找自己代码里面会出现上述2种情况的地方,就会发现问题。




参考解决问题的链接如下:
http://www.cnblogs.com/dolphin0520/p/3933551.html


http://bbs.csdn.net/topics/370149418




评论关闭
IT序号网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!

Java 三种会抛 ConcurrentModificationException 异常的代码实例