我在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
我想知道什么可能是导致此异常的原因?或如何在某事上取得领先。