可以说我们有一些对象的ArrayList
,我们正在遍历列表以读取每个对象的特征。如果列表中的对象随时被另一个线程修改(在迭代器到达对象之前,迭代器位于对象上时以及迭代通过对象之后),迭代器是否抛出ConcurrentModificationException
?
在撰写本文时,我意识到列表实际上包含了对象的引用,并且在修改对象时它们保持不变,因此迭代器不应抛出ConcurrentModificationException
,但可以在迭代时读取数据不一致,除非实际的读取过程已同步。有人可以确认吗?