问题标签 [concurrentmodification]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - hashmap 出现并发修改异常的问题
我在使用地图并执行一些删除时收到以下错误。如何避免这种情况?
python - 防止在迭代时修改自定义类
如果我有一个带有接口的类:
...我将如何设置,以便如果add()
被称为中间迭代,则会抛出异常,类似于:
更新:
如果接口需要更多方法,请随意添加。我还删除了__iter__()
.
更新 #2 根据 kindall 的回答,我模拟了以下伪实现。请注意,_datastruture 和索引到它的相关方法是抽象的,类编写者必须编写他/她自己的数据结构遍历和位置指针机制。
更新 3
在阅读了更多内容后,似乎__del__
可能不是正确的方法。以下可能是更好的解决方案,尽管它需要用户显式释放未用尽的迭代器。
java - ConcurrentModificationException 和 HashSet.iterator()
我有一个 for 循环
我可以neighbours
在循环内修改的地方。发现这就是原因ConcurrentModificationException
。并从https://stackoverflow.com/a/8189527/292291阅读
因此,如果您想修改列表(或一般的任何集合),请 使用 iterator,因为它知道修改,因此将正确处理这些修改。
所以我尝试了:
但这并不能解决问题。为什么?
java - 执行 swapCursor() 时如何处理 ConcurrentModificationException?
我在从FragmentActivity向前和向后导航时收到异常,其中包含 ListView 和从自定义 Loader 加载的数据(它是从本地 sqlite 数据库加载),并且不知道如何处理它......
这是一个堆栈跟踪:
mCartCursorAdapter.swapCursor(null);
此代码片段 (CartFragmentActivity.java:412)行发生异常:
在这里可以做些什么来消除这个异常?
java - LinkedList checkForComodification错误java
好的,所以我在这里尝试做的是让一个方法在给定的“时间”内“运行”一个过程,这一切都在一定程度上起作用,但它不断给出这些感觉。这是它给出的第一个例外
然后在 exicutio 中给出了这个
我不知道我在这里做错了什么,我应该让这个并发还是什么?如果有怎么办?我认为链表本质上是同步的?也许这就是我搞砸的地方。
那么这里的任何方式都是我使用的方法:
这是我在 main 方法中调用它的地方
java - 从线程使用的列表中删除时出现异常
那是我的代码的一部分:
线程一直在运行(没有写那部分),当我使用 removeInteger 方法从列表中删除时,我得到了 ConcurrentModificationException。知道如何解决这个问题吗?
android - 向 ArrayList 添加条目时出现 ConcurrentModificationException
我正在尝试将一些 MapOverlays 添加到我的 MapView 中,但出现以下错误:
这是我的 AsyncTask 的 doInBackground() 方法:
为什么会发生此错误,我在代码中做错了什么?
java - Java中的并发修改异常
我在执行此代码时收到 ConcurrentModificationException。我无法弄清楚为什么会这样?
提前致谢。
java - ConcurrentModificationException 具有全局变量,但不是局部变量
在下面的函数中,我声明了局部变量allPeopel
和itr
(它们是覆盖全局变量)。如果我注释掉局部变量(在下面的 Astrixes 之间),则会引发 ConcurrentModificationError。但是,如果我使用局部变量而不是全局变量,那么代码可以正常工作。我不明白为什么会这样?类中还有许多其他函数,因此我尝试使用全局变量来获得更高效的代码。
android - Android ConcurrentModification onDraw()
我在使用 android 应用程序时遇到问题。
我有一个线程不断迭代列表或形状,更新它们的位置,有时从列表中删除一个项目。在线程的 while 循环结束时,它调用 postInvalidate() 来提示重绘。
这是对 ArrayList 进行修改的代码。
onDraw 方法使用 for each 循环来绘制每个项目。尽管仅通过迭代器修改列表,但我在 onDraw 方法中得到并发修改。我尝试过 CopyOnWriteArrayList 和 Collections.synchronized,结果相同。
任何帮助,将不胜感激。