ThreadPoolTaskExecutor的execute方法怎么传递参数
时间: 2023-08-29 15:13:48 浏览: 188
ThreadPoolTaskExecutor的execute方法可以通过实现Runnable或Callable接口,来传递参数。
实现Runnable接口时,可以将参数定义为类的成员变量,然后在run方法中使用。示例如下:
```java
public class MyRunnable implements Runnable{
private String param;
public MyRunnable(String param){
this.param = param;
}
@Override
public void run(){
// 使用param参数
}
}
// 在ThreadPoolTaskExecutor中执行
taskExecutor.execute(new MyRunnable("参数"));
```
实现Callable接口时,可以在泛型中指定返回值类型,并在call方法中返回结果。示例如下:
```java
public class MyCallable implements Callable<String>{
private String param;
public MyCallable(String param){
this.param = param;
}
@Override
public String call() throws Exception{
// 使用param参数
return "结果";
}
}
// 在ThreadPoolTaskExecutor中执行
Future<String> future = taskExecutor.submit(new MyCallable("参数"));
String result = future.get(); // 获取执行结果
```
在这两种方式中,参数都是在创建Runnable或Callable实例时传入的,然后在run或call方法中使用。如果需要动态传递参数,可以将参数保存在一个集合中,然后在run或call方法中使用集合中的参数。
阅读全文