简体   繁体   English

ChronicleMap 和 parallelStream

[英]ChronicleMap and parallelStream

I'am trying to use chronicleMap.parallelStream:我正在尝试使用chronicleMap.parallelStream:

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

I got the following exception.我得到以下异常。

java.lang.IllegalStateException: ChronicleMap ... Iterator should be accessed only from a single thread java.lang.IllegalStateException: ChronicleMap ... Iterator 只能从单个线程访问

Any idea how to use chronicleMap and parallelStream?知道如何使用chronicleMap 和parallelStream 吗? Thanks谢谢

If chronicle does not support parallel streams, then you will have to copy its contents into a map implementation which does.如果编年史不支持并行流,那么您必须将其内容复制到支持的映射实现中。

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM