ThreadPoolTaskExecutor 带参返回
时间: 2024-03-15 15:40:59 浏览: 68
Spring线程池ThreadPoolTaskExecutor配置详情
ThreadPoolTaskExecutor是Spring框架提供的一个线程池任务执行器,它是基于Java的ThreadPoolExecutor进行封装的。ThreadPoolTaskExecutor可以用于执行异步任务,它可以接收参数并返回结果。
使用ThreadPoolTaskExecutor的步骤如下:
1. 配置ThreadPoolTaskExecutor:在Spring的配置文件中,通过配置ThreadPoolTaskExecutor的bean来创建线程池任务执行器。可以设置线程池的核心线程数、最大线程数、队列容量等参数。
2. 定义任务方法:在代码中定义需要执行的任务方法,可以接收参数并返回结果。
3. 执行任务:通过调用ThreadPoolTaskExecutor的execute()方法来执行任务。可以将任务方法作为参数传递给execute()方法。
示例代码如下:
```java
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
public class MyTaskExecutor {
private ThreadPoolTaskExecutor taskExecutor;
public MyTaskExecutor() {
taskExecutor = new ThreadPoolTaskExecutor();
taskExecutor.setCorePoolSize(5);
taskExecutor.setMaxPoolSize(10);
taskExecutor.setQueueCapacity(25);
taskExecutor.initialize();
}
public void executeTask(String param) {
taskExecutor.execute(() -> {
// 执行任务逻辑,可以使用param参数
// ...
// 返回结果
String result = "Task executed successfully";
System.out.println(result);
});
}
}
```
使用示例:
```java
public class Main {
public static void main(String[] args) {
MyTaskExecutor taskExecutor = new MyTaskExecutor();
taskExecutor.executeTask("example parameter");
}
}
```
阅读全文