public void method(){
... for(Object obj: finalObjects){
....
doSth(obj);
....
}
}我在主线程遍历 ArrayList 的时候,发生了 java.util.ConcurrentModificationException已检查 doSth 并没有修改 全局变量 finalObjects,所以我怀疑是某个异步方法在我遍历期间修改了这个变量,由于系统庞大,没法直接查找哪里修改了它,有没有办法在运行时获取,是哪个地方的异步,或者是哪个线程,修改了 finalObjects导致异常发生?请教各位大佬 ,谢谢 !!
1 回答
月关宝盒
TA贡献1772条经验 获得超5个赞
很感谢各位的回答。只是解决这个问题,如@kevinz 那样,就可以了。
但是我的目的是想跟踪这个变量在这一段代码执行过程中,还有哪个线程修改了它。不过看来是很困难,我是一点头绪都没有。
添加回答
举报
0/150
提交
取消