2

我正在尝试使用chronicleMap.parallelStream:

myChronicleMap.entrySet().parallelStream().forEach((entry) -> {
   process(entry); //heavy process 
}

我得到了以下异常。

java.lang.IllegalStateException: ChronicleMap ... Iterator 只能从单个线程访问

知道如何使用chronicleMap 和parallelStream 吗?谢谢

4

1 回答 1

1

如果 Chronicle 不支持并行流,那么您必须将其内容复制到支持的地图实现中。

Map<?, ?> mapCopy = myChronicleMap.entrySet()
                                  .stream()
                                  .collect(Collectors.toMap(Entry::getKey, Entry::getValue));
mapCopy.entrySet().parallelStream().forEach(this::process);
于 2017-09-24T10:47:01.490 回答