要创建一个用于分割列表并执行多线程任务的工具类,你可以使用 Java 的 ExecutorService 和
ThreadPoolExecutor 来实现。下面是一个详细的示例,展示了如何创建这样一个工具类。
步骤 1: 创建线程池
首先,创建一个线程池来执行任务。
步骤 2: 分割列表
接着,定义一个方法来分割列表为多个子列表。
步骤 3: 执行多线程任务
最后,定义一个方法来提交任务到线程池并执行。
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.*;
public class ListSplitterAndExecutor {
private static final int DEFAULT_THREAD_COUNT = Runtime.getRuntime().availableProcessors();
private ExecutorService executorService;
public ListSplitterAndExecutor(int threadCount) {
this.executorService = Executors.newFixedThreadPool(threadCount);
}
public ListSplitterAndExecutor() {
this(DEFAULT_THREAD_COUNT);
}
/**
* 分割列表为多个子列表。
*
* @param list 要分割的列表
* @param chunkSize 每个子列表的大小
* @param <T> 列表元素类型
* @return 子列表列表
*/