Java-List分批多线程执行
为了实现列表分批多线程执行,并返回结果,默认一次执行100个元素,我们可以创建一个工具类
ListBatchExecutor,它包含一个静态方法 executeInBatches,该方法接收一个列表、一个处理每
个元素的函数以及一个自定义线程池,并利用 CompletableFuture 来并行处理这些元素。
ListBatchExecutor.java
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.stream.Collectors;
public class ListBatchExecutor {
/**
* 分批并行处理列表中的每个元素,并返回处理后的结果列表。
*
* @param <E> 输入列表的元素类型
* @param <R> 输出列表的元素类型
* @param elements 输入的元素列表
* @param function 应用于每个元素的函数
* @param executor 自定义线程池
* @param bat