我使用了同步列表,我仍然得到 ConcurrentModificationException
2022-09-03 15:05:54
我正在使用而不是使列表在多线程环境中安全。但是当我尝试在迭代时向中添加项目时,我会不断得到它。这是为什么,我该如何防止?Vector
ArrayList
ConcurrentModificationException
Vector
我正在使用而不是使列表在多线程环境中安全。但是当我尝试在迭代时向中添加项目时,我会不断得到它。这是为什么,我该如何防止?Vector
ArrayList
ConcurrentModificationException
Vector
在迭代矢量时,不能对其进行修改。将要添加的项目存储在单独的矢量中,并在循环完成后将它们移动到 Vector 或循环原始 Vector 的副本上。
已添加:要在java中获取Vector周围的互斥体,请在两个函数中执行此操作:
synchronized (list) {
// modifying list
}
和:
synchronized (list) {
// iterating over list
}
当然,我假设该列表已命名list