我正在尝试使用chronicleMap.parallelStream:
myChronicleMap.entrySet().parallelStream().forEach((entry) -> {
process(entry); //heavy process
}
我遇到以下异常。
java.lang.IllegalStateException:ChronicleMap ... Iterator只能从单个线程访问
知道如何使用chronicleMap和parallelStream吗? 感谢
答案 0 :(得分:1)
如果编年史不支持并行流,那么你必须将其内容复制到地图实现中。
Map<?, ?> mapCopy = myChronicleMap.entrySet()
.stream()
.collect(Collectors.toMap(Entry::getKey, Entry::getValue));
mapCopy.entrySet().parallelStream().forEach(this::process);