我不明白这个ConcurrentModificationException

时间:2019-09-04 12:49:14

标签: java java-8 java.util.concurrent concurrentmodification

我在parallelStream().foreach(..)块中有此代码。该函数驻留在由恒定计时器(例如每500毫秒)触发的功能中,该功能从第三方系统获取一些数据。

一切似乎都工作顺利,我还有另外两个列表,在其中应用了相同的 exact 逻辑,并且没有例外。

但是有时,例如每15分钟一次,抛出一个ConcurrentModificationException。

CopyOnWriteArrayList<AppData.Data> desksValues = appDataAll.getData().parallelStream()
    .filter(n -> (!"".equals(n.getItemName())))
    .filter(v -> "Desk".equals(v.getSourceName()))
.collect(Collectors.toCollection(CopyOnWriteArrayList::new)); // <- here

我想知道什么可能是导致此异常的原因?或如何在某事上取得领先。

0 个答案:

没有答案