为了方便地创建和管理自定义线程池,你可以编写一个工具类来封装这些操作。下面是一个自定义
线程池工具类的示例,包括创建不同类型的线程池、配置线程工厂、设置拒绝策略等。
自定义线程池工具类
这个工具类将提供以下功能:
创建固定大小的线程池:适用于需要限制并发数量的场景。
创建缓存线程池:适用于需要快速响应和高并发的场景。
创建单线程线程池:适用于需要保证任务顺序执行的场景。
创建定时任务线程池:适用于执行定时任务的场景。
import java.util.concurrent.*;
public class ThreadPoolUtil {
/**
* 创建固定大小的线程池。
* @param corePoolSize 核心线程池大小
* @param queueSize 阻塞队列大小
* @param threadNamePrefix 线程名称前缀
* @return ScheduledThreadPoolExecutor
*/
public static ScheduledThreadPoolExecutor createFixedThreadPool(int corePoolSize, int queueSize, String threadNamePrefix) {
return new ScheduledThreadPoolExecutor(
corePoolSize,
new NamedThreadFactory(threadNamePrefix),
new ThreadPoolExecutor.CallerRunsPolicy(),
new LinkedBlockingQueue<>(queueSize)
);
}