在Java中,可以使用线程和Callable接口来实现并行执行具有返回类型和输入参数的方法。
首先,创建一个实现Callable接口的类,例如:
import java.util.concurrent.Callable;
public class MyCallable implements Callable {
private int input;
public MyCallable(int input) {
this.input = input;
}
@Override
public Integer call() throws Exception {
// 在这里编写需要执行的方法逻辑
// 可以使用input作为输入参数
// 返回结果作为返回类型
return input * 2;
}
}
然后,创建一个线程池,提交Callable任务,并获取返回结果,例如:
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;
public class Main {
public static void main(String[] args) {
// 创建一个线程池
ExecutorService executorService = Executors.newFixedThreadPool(1);
// 创建Callable任务
MyCallable callable = new MyCallable(5);
// 提交Callable任务到线程池,并获取Future对象
Future future = executorService.submit(callable);
try {
// 获取Callable任务的返回结果
int result = future.get();
System.out.println("结果:" + result);
} catch (Exception e) {
e.printStackTrace();
}
// 关闭线程池
executorService.shutdown();
}
}
在上面的代码中,定义了一个MyCallable类实现了Callable接口,并重写了call()方法,该方法中可以编写需要并行执行的方法逻辑。创建一个线程池,并使用ExecutorService的submit()方法提交Callable任务,获取一个Future对象,然后使用Future的get()方法获取Callable任务的返回结果。
这样就实现了并行执行具有返回类型和输入参数的方法。
上一篇:并行执行脚本
下一篇:并行执行Monix任务