java中如何手动创建一个线程池

动态 未结 0 78
小小草
小小草 LV1 2023年9月23日 23:40 发表
在Java中,可以使用ThreadPoolExecutor类手动创建一个线程池。ThreadPoolExecutor是ExecutorService接口的实现类,提供了更多的配置选项和灵活性。 ThreadPoolExecutor构造函数的参数如下: ``` ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit, BlockingQueue workQueue, ThreadFactory threadFactory, RejectedExecutionHandler handler) ``` 其中,各个参数的含义如下: - corePoolSize:核心线程数,即线程池中保持活动状态的最小线程数。 - maximumPoolSize:最大线程数,即线程池中允许存在的最大线程数。 - keepAliveTime:线程空闲时间,当线程池中的线程数量超过corePoolSize时,多余的空闲线程会在指定时间内被回收。 - unit:keepAliveTime的时间单位。 - workQueue:任务队列,用于存放等待执行的任务。 - threadFactory:线程工厂,用于创建新的线程。 - handler:拒绝策略,用于处理无法处理的任务。 以下是一个示例代码,展示如何手动创建一个线程池: ``` import java.util.concurrent.*; public class ThreadPoolDemo { public static void main(String[] args) { int corePoolSize = 5; int maximumPoolSize = 10; long keepAliveTime = 60L; TimeUnit unit = TimeUnit.SECONDS; BlockingQueue workQueue = new ArrayBlockingQueue<>(100); ThreadFactory threadFactory = Executors.defaultThreadFactory(); RejectedExecutionHandler handler = new ThreadPoolExecutor.AbortPolicy(); ThreadPoolExecutor executor = new ThreadPoolExecutor(corePoolSize, maximumPoolSize, keepAliveTime, unit, workQueue, threadFactory, handler); // 添加任务到线程池 executor.execute(new Runnable() { public void run() { System.out.println("执行任务"); } }); // 关闭线程池 executor.shutdown(); } } ``` 在上面的示例代码中,创建了一个核心
收藏(0)  分享
相关标签: 智能问答
问题没解决?让AI助手帮你作答 AI助手
0个回复
  • 消灭零回复