private <T, C> void runInParallel(List<T> workSet, Consumer<T> worker, DoubleConsumer progressReceiver) {
if (workSet.isEmpty()) return;
AtomicInteger itemsDone = new AtomicInteger();
int updateRate = Math.max(1, workSet.size() / 200);
workSet.parallelStream().forEach(workItem -> {
worker.accept(workItem);
int cItemsDone = itemsDone.incrementAndGet();
if ((cItemsDone % updateRate) == 0) {
progressReceiver.accept((double) cItemsDone / workSet.size());
}
});
}
Matcher.java 文件源码
java
阅读 41
收藏 0
点赞 0
评论 0
项目:Matcher
作者:
评论列表
文章目录