通过ThreadPoolExecutor创建线程池
时间: 2023-08-25 19:10:07 浏览: 104
通过ThreadPoolExecutor创建线程池的方式有多种。其中一种方式是使用ThreadPoolExecutor的构造函数来手动创建线程池。可以设置线程池的核心线程池大小、最大线程池大小、线程空闲时间、任务队列、线程工厂和拒绝策略等参数。例如,可以使用以下代码创建一个线程池:
ThreadPoolExecutor threadPoolExecutor = new ThreadPoolExecutor(
2, // 核心线程池大小
5, // 最大线程池大小
3, // 线程空闲时间
TimeUnit.SECONDS, // 时间单位
new LinkedBlockingQueue<>(3), // 任务队列
Executors.defaultThreadFactory(), // 线程工厂
new ThreadPoolExecutor.AbortPolicy() // 拒绝策略
);
在这个例子中,线程池的核心线程池大小为2,最大线程池大小为5,线程空闲时间为3秒,任务队列使用LinkedBlockingQueue,线程工厂使用默认的线程工厂,拒绝策略使用AbortPolicy。然后可以通过execute方法向线程池提交任务。最后,记得在不需要使用线程池时调用shutdown方法关闭线程池。
#### 引用[.reference_title]
- *1* *2* [ThreadPoolExecutor 手动创建线程池](https://blog.csdn.net/Q17532573105/article/details/124698108)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item]
- *3* [通过ThreadPoolExecutor的方式创建线程池](https://blog.csdn.net/m0_45303174/article/details/123587122)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文