threadPoolExecutor用法
时间: 2024-07-22 20:01:14 浏览: 67
java ThreadPoolExecutor使用方法简单介绍
5星 · 资源好评率100%
ThreadPoolExecutor是Java并发包java.util.concurrent中的一个重要工具,它用于创建和管理线程池,以处理大量的并发任务。其主要用法包括:
1. **初始化**:创建ThreadPoolExecutor时需要提供核心线程数、最大线程数、工作队列策略以及拒绝策略等参数。例如:
```java
ThreadPoolExecutor executor = new ThreadPoolExecutor(
corePoolSize, // 核心线程数
maximumPoolSize, // 最大线程数
keepAliveTime, // 线程空闲时间
TimeUnit.MILLISECONDS, // 时间单位
workQueue, // 工作队列
threadFactory, // 线程工厂
handler // 拒绝策略
);
```
2. **提交任务**:你可以使用`execute()`方法将Runnable任务或者Callable任务提交给线程池执行:
```java
executor.execute(runnableTask);
Future<?> future = executor.submit(callableTask);
```
3. **获取结果(可选)**:如果任务是Callable并希望获取返回值,可以使用Future.get()阻塞直到结果可用。
4. **关闭和清理**:当不再需要线程池时,记得调用`shutdown()`停止接收新任务,`awaitTermination()`等待所有任务完成,或者`shutdownNow()`立即停止并尝试取消当前任务。
阅读全文