我们知道,对于Collection而言,在对其iterator的过程中,是不能调用Collection的remove等方法的,这样会报java.util.ConcurrentModificationException异常,通常用iterator的remove方法来达到目的,示例程序如下:
但是今天在公司写的代码,忽然报出了java.util.ConcurrentModificationException异常,只是普通的遍历一个list,添加一个userid到set中,代码如下:
这个情况下就会报出ConcurrentModificationException异常,令人百思不得其解。
调试了很久,也写了一个示例程序,忽然发现,程序是在多线程环境下,这样,set是非线程安全的,因此,给其加上锁就行了,好简单,唉。
本文探讨了在多线程环境中遍历List并添加元素到HashSet时出现的ConcurrentModificationException异常问题,并提供了解决方案。
2668

被折叠的 条评论
为什么被折叠?



