美文网首页
ConcurrentModificationException问

ConcurrentModificationException问

作者: 我是光芒万丈 | 来源:发表于2020-03-01 20:35 被阅读0次

结论:此问题:出现此问题说明多个线程同时操作一个Linkedlist,或单线程下使用list的remove等方法且没有更新迭代器中的expectedModCount

解决:单线程下如存在renmove调用,应改为使用迭代器remove;

      多线程下应改用相关多线安全集合。

源码分析:

list内部iterator初始化时,会把list中的modcount赋给expectedModCount

1

而当遍历时其他线程或本线程调用list相关方法操作了该集合,list中modcount会每次自增1

2

而而iterator.next会先对两个值进行比对,如果不相等,从而该异常

3

相关文章

网友评论

      本文标题:ConcurrentModificationException问

      本文链接:https://www.haomeiwen.com/subject/vmmkkhtx.html