ThreadPoolTaskExecutor执行指定次数
时间: 2023-10-15 20:24:57 浏览: 80
您可以使用`ThreadPoolTaskExecutor`来执行指定次数的任务。以下是一个示例代码:
```java
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
public class Main {
public static void main(String[] args) {
// 创建 ThreadPoolTaskExecutor
ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
executor.setCorePoolSize(5); // 设置核心线程数
executor.setMaxPoolSize(10); // 设置最大线程数
executor.initialize(); // 初始化
// 指定要执行的任务次数
int taskCount = 10;
for (int i = 0; i < taskCount; i++) {
executor.execute(new MyTask(i)); // 提交任务到线程池执行
}
// 关闭线程池
executor.shutdown();
}
static class MyTask implements Runnable {
private int taskId;
public MyTask(int taskId) {
this.taskId = taskId;
}
@Override
public void run() {
System.out.println("Task " + taskId + " is running.");
// 执行具体的任务逻辑
}
}
}
```
在上述示例中,我们创建了一个`ThreadPoolTaskExecutor`实例,并设置了核心线程数和最大线程数。然后,我们循环提交任务到线程池中执行,每个任务都是一个实现了`Runnable`接口的自定义任务。最后,我们关闭线程池。
您可以根据需要调整线程池的参数,例如核心线程数、最大线程数、线程存活时间等。请根据实际情况进行配置。
阅读全文