ThreadPoolTaskExecutor配置
时间: 2023-12-08 08:38:59 浏览: 92
Spring线程池ThreadPoolTaskExecutor配置详情
ThreadPoolTaskExecutor是Spring框架提供的一个线程池实现类,可以用于管理线程池的创建、销毁、线程数量控制等。下面是一个ThreadPoolTaskExecutor的配置示例:
1.在application.properties文件中添加以下配置:
```
# 核心线程池数
spring.task.execution.pool.core-size=5
# 最大线程池数
spring.task.execution.pool.max-size=10
# 任务队列的容量
spring.task.execution.pool.queue-capacity=5
# 非核心线程的存活时间
spring.task.execution.pool.keep-alive=60
# 线程池的前缀名称
spring.task.execution.thread-name-prefix=wuhuTaskExecutor-
```
2.在Java代码中使用ThreadPoolTaskExecutor:
```java
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
public class MyService {
private ThreadPoolTaskExecutor executor;
public MyService(ThreadPoolTaskExecutor executor) {
this.executor = executor;
}
public void doSomething() {
executor.execute(() -> {
// 在这里执行异步任务
});
}
}
```
在上面的代码中,我们首先通过构造函数注入了一个ThreadPoolTaskExecutor实例,然后在doSomething()方法中使用execute()方法提交一个异步任务。execute()方法会自动从线程池中获取一个线程来执行任务,如果线程池中没有可用的线程,则会创建一个新的线程。当任务执行完毕后,线程会自动归还给线程池。
阅读全文