问题标签 [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.

0 投票
1 回答
2384 浏览

java - 将迭代器上的当前对象移动到列表末尾

我在使用 Iterator (LinkedList.iterator()) 对象的 Java 上遇到问题。在循环中,我需要将迭代器对象从某个位置移动到列表末尾。

例如:

由于某些原因,我无法克隆 this.transitions。有可能,还是我真的需要使用克隆方法?

编辑:目前,我这样做:

但问题就在第二行。我不能添加itens,因为我是同一个对象的迭代器。:(

0 投票
1 回答
2002 浏览

android - Android 中的 ConcurrentModificationException

首先,我很抱歉再次提出这个问题,但我还没有找到解决我的问题的方法。

我有一个应用程序,我可以在其中使用 MyLocationOverlay 定位自己,并使用 itemizedOverlay 绘制朋友的位置。但是该应用程序因 ConcurrentModificationExcepion 而崩溃

对于我的位置,我使用 MyLocationOverlay 和这个单一的代码(以前初始化):

对于我朋友的位置,我使用了 ItemizedOverlay 和绘制位置的方法。ItemizedOverlay 这是:

这是绘制位置的方法:

使用两个不同的mapViews(mapView和mapView2),否则draw方法会在执行时擦除myLocationOverlay点mapView2.postInvalidate();

正如我所说,我获得了 ConcurrentModificationException。我找到了一些解决方案,但我不知道如何应用......这对我来说非常重要,因为它是我职业生涯的结束。太感谢了!

0 投票
1 回答
315 浏览

java - AAndroid 序列化导致 ConcurrentModificationException。我怎样才能避免这种情况?

在序列化我的对象时,它是一个自定义类,包含各种 ArrayList,我经常会遇到并发 Mod 异常。显然,一个或多个数组列表正在抛出这个。但我不知道在哪里,或者如何解决它。实现迭代器将是我的第一个想法,但是如何进行序列化呢?

这是我的序列化代码:enter code here

0 投票
2 回答
1107 浏览

java - 在 Android 操作系统上为 JAVA 捕获未处理运行时异常的最佳实践?

在我在 android 上的 e3roid 场景填充期间触发的过程中,我不断遇到我想要完全捕获的异常。也许我需要创建一个反向异常跟踪器,我可以在闲暇时横穿它,而不是立即进行对话,从而消除用户体验。

整个应用程序因异常对话而死。我希望能够从全局范围内捕获 ConcurrentModificationException ,以便如果由于未知情况而发生此类事件,则整个应用程序不会被处置。

** 编辑 **

在这个块在 onSceneTouchEvent 期间被触发

我认为我似乎开得太快了。我需要放慢速度。

* 跟进 *

我似乎解决了这个问题..我做了其中之一......

你会看到,在我放入一个 ballspawning boolean flag 之后,我传递我的 spawning 值的辅助程序是如此的黄金......我将它设置为一个字段,并在我的迭代结束时设置它并在横向之前检查清单发生了..哇哦!好甜蜜!

没有真正需要全局陷阱..只是很好的旧调试。但我仍然很想实现所有错误的全局处理程序。去做

我再次爆发了并发错误..

截图

调试消息

另一种情况

屏幕截图 4

几乎缩小了罪魁祸首

我试图用一个捕捉 ConcurrentModificationException

正如您在最后一个屏幕截图中看到的那样,上述方法永远不会被调用。

ConcurrentModificationException 使应用程序崩溃到异常对话框。

** 跟进 **

我已经添加了

在运行时额外的未实现方法

仍然没有异常捕获......

我还添加了

没有仍然没有诱捕...

啊啊啊

嗬嗬!!

刚刚发现异常!!看看屏幕截图......你会看到!!!!!!

http://img17.imageshack.us/img17/135/concurrentmodificatione.png

捕获异常

感谢所有这一切让我努力深入了解 java 异常处理!

优秀的资源

我把并发问题困在了

删除...

公共类 LauncherActivity 扩展 E3Activity 实现 UncaughtExceptionHandler ,FPSListener,SceneUpdateListener

我必须原创......没有 UncaughtExceptionHandler 实现

并添加了一个由 Johnny Lee 非常详细的课程。blog.dimond.de/?p=63

真是甜蜜的东西。

0 投票
2 回答
153 浏览

java - 如何在更改大小列表的所有元素上执行 Thread.join()?

假设我有大量工作线程都在积极处理,还有一个主管线程等待它们全部完成。传统上我可以做类似的事情:

..一切都会好起来的。但是在这种情况下,我的工作人员列表(ArrayList 员工)的大小是可变的,并且可能会在任意时间发生变化。我最好的知识告诉我这样的事情应该有效:

然而,这仍然会导致在线上的 conncurrentModificationException

...这对我来说似乎很奇怪,因为我认为一旦您检索到迭代器,它就会与列表本身分开。我的下一个想法是克隆迭代器或人员列表,使其与原始更改列表分开,但我想我会先让专家们了解一下。

0 投票
7 回答
55928 浏览

java - 在 TreeSet 上使用迭代器

情况:我有一个自定义对象的 TreeSet,并且我还使用了一个自定义比较器。我创建了一个迭代器以在此 TreeSet 上使用。

问题:嗯,我想知道,如果我在 while 循环中向 TreeSet 添加一个新元素,那么该新元素会立即排序。换句话说,如果我在 while 循环中添加一个新元素并且它小于我当前在 c 中保存的元素,那么在下一次迭代中,我会在 c 中获得与上一次迭代相同的元素吗?(因为排序后,新添加的元素会占据当前元素之前的某个位置)。

0 投票
5 回答
1127 浏览

java - 数独求解器在其迭代器上的线程“main”java.util.ConcurrentModificationException 中出现异常

我收到以下错误:

我不明白java.util.HashMap$KeyIterator.nextjava.util.HashMap$HashIterator.nextEntry错误消息,因为我无法HashSet明确地获取 keySet,我假设 Iterator 默认情况下正在通过 keySet。

我没有使用线程,只是递归调用。这里发生了什么?

编辑:

我将代码更改为:

我仍然得到ConcurrentModificationException,这是为什么?

0 投票
4 回答
1115 浏览

java - 并发修改异常

使用下面的代码片段,我正在尝试处理电子表格,但需要排除临时列。我知道我这样做的粗略方式,将异常放在 ArrayList 中并处理每个列表上的列表,并且在当前行列上不断增加是不正当的,但你知道只需完成它。

但是我得到了标题错误,我认为这永远不会发生。我只是循环遍历 ArrayList 并进行比较,而不是修改任何内容。错误在哪里?有没有更好的方法来处理例外列表?

0 投票
4 回答
57880 浏览

java - 如何在没有 ConcurrentModificationException 的情况下使用 for-each 循环进行迭代时修改集合?

如果我在使用 for-each 循环对其进行迭代时修改 Collection,它会给出ConcurrentModificationException. 有什么解决方法吗?

0 投票
3 回答
2304 浏览

java - 从同步方法中调用方法

我面临一个奇怪的问题,这让我想知道同步方法中到底发生了什么。假设有一个方法

现在在执行 call() 方法时,另一个对象可以进入这个同步的 example() 方法吗?那么当 call() 返回时,可能会出现一些 ConcurrentModificationException?怎么做才能避免问题?