Koe*_*err 5 java java.util.concurrent
我的代码抛出异常:
java.util.ConcurrentModificationException
at java.util.LinkedList$ListItr.checkForComodification(LinkedList.java:761)
at java.util.LinkedList$ListItr.next(LinkedList.java:696)
at java.util.AbstractCollection.addAll(AbstractCollection.java:305)
at java.util.LinkedHashSet.<init>(LinkedHashSet.java:152)
...
Run Code Online (Sandbox Code Playgroud)
我想要ConcurrentLinkedHashSet修理它,
但我只找到ConcurrentSkipListSet了java.util.concurrent,这TreeSet不是LinkedHashSet
进入JDK6.0的任何简易方法ConcurrentLinkedHashSet?
感谢帮助 :)
Voo*_*Voo 10
ConcurrentModificationException与您正在考虑的形式的并发性无关.这只是意味着在迭代Collection时,有人(可能是你自己的代码 - 经常发生的事情;))正在改变它,即添加/删除一些值.
确保您使用Iterator从集合中删除值,而不是集合本身.
编辑:如果真正的另一个线程同时访问Collection,那么从标准库获得的弱同步无论如何都是无用的,因为你必须在整个操作期间阻塞Collection而不仅仅是一个add /去掉!就是这样的
synchronize(collection) {
// do stuff here
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7038 次 |
| 最近记录: |