ThreadPoolTaskExecutor依次提交
时间: 2023-07-15 22:07:55 浏览: 90
ThreadPoolTaskExecutor是Spring框架提供的一个线程池实现类,用于管理和执行多线程任务。通过ThreadPoolTaskExecutor,我们可以将多个任务依次提交给线程池执行。
要依次提交任务给ThreadPoolTaskExecutor执行,可以使用execute方法或submit方法。这两种方法的区别在于,execute方法没有返回值,而submit方法可以返回一个Future对象,用于获取任务执行结果。
示例代码如下:
```java
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
public class Main {
public static void main(String[] args) {
ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
executor.setCorePoolSize(5); // 设置核心线程数
executor.setMaxPoolSize(10); // 设置最大线程数
executor.setQueueCapacity(100); // 设置任务队列容量
executor.initialize(); // 初始化线程池
// 依次提交任务
for (int i = 0; i < 10; i++) {
final int taskId = i;
executor.execute(() -> {
System.out.println("Task " + taskId + " is being executed.");
// 执行具体的任务逻辑
});
}
executor.shutdown(); // 关闭线程池
}
}
```
在上面的示例中,我们创建了一个ThreadPoolTaskExecutor对象,并设置了核心线程数、最大线程数和任务队列容量。然后,使用execute方法依次提交了10个任务给线程池执行。每个任务都会打印一条信息表示正在执行。
最后,调用shutdown方法关闭线程池,确保所有任务都执行完毕。
阅读全文