private ThreadPoolTaskExecutor taskExecutor; java中往线程池中添加任务
时间: 2023-10-12 12:12:56 浏览: 89
是的,您可以使用Java中的ThreadPoolTaskExecutor类来创建线程池并添加任务。
首先,您需要创建一个ThreadPoolTaskExecutor实例:
```
ThreadPoolTaskExecutor taskExecutor = new ThreadPoolTaskExecutor();
taskExecutor.setCorePoolSize(5); // 设置核心线程数
taskExecutor.setMaxPoolSize(10); // 设置最大线程数
taskExecutor.setQueueCapacity(100); // 设置队列容量
taskExecutor.initialize(); // 初始化线程池
```
然后,您可以使用TaskExecutor.execute()方法将任务提交到线程池中:
```
taskExecutor.execute(new Runnable() {
@Override
public void run() {
// your task code here
}
});
```
您也可以使用submit()方法来提交Callable任务,并且可以获取返回值:
```
Future<String> futureResult = taskExecutor.submit(new Callable<String>() {
@Override
public String call() throws Exception {
// your task code here
return "result";
}
});
String result = futureResult.get(); // 获取任务执行结果
```
最后,当您的应用程序关闭时,您需要调用shutdown()方法来关闭线程池并等待所有任务完成:
```
taskExecutor.shutdown();
taskExecutor.awaitTermination(30, TimeUnit.SECONDS); // 等待所有任务完成,最多30秒
```
阅读全文