我正在尝试使用chronicleMap.parallelStream:

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


我有以下例外。


  java.lang.IllegalStateException:ChronicleMap ...仅应从单个线程访问迭代器


任何想法如何使用chronicleMap和parallelStream?
谢谢

最佳答案

如果纪事表不支持并行流,那么您将不得不将其内容复制到一个映射实现中。

Map<?, ?> mapCopy = myChronicleMap.entrySet()
                                  .stream()
                                  .collect(Collectors.toMap(Entry::getKey, Entry::getValue));
mapCopy.entrySet().parallelStream().forEach(this::process);

关于java - ChronicleMap和parallelStream,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46388950/

10-10 08:38