我有类似的要求。在特定操作中,我必须调用一组验证器方法,这些方法反过来验证某些组件。每个验证器过去都需要花费一定的时间并且不得不减少它并决定异步调用它。
确实有很多方法可以实现它,这是我解决的方法之一。
由于验证器大多不返回任何值,因此利用了 Runnable 类 lambda。在下面的示例addition
中,方法将被异步和并行调用multiply
。subtraction
public class MultiThreading {
public static void addition() {
System.out.println("Addition");
}
public static void multiply() {
System.out.println("multiplication");
}
public static void subtraction() {
System.out.println("subtraction");
}
public static void main(String[] args) {
ExecutorService executor = Executors.newCachedThreadPool();
Runnable callMultiply = () -> multiply(); //Create Runnable reference using lambda
executor.execute(callMultiply);
executor.execute(() -> addition()); //inline
executor.execute(() -> subtraction());
executor.shutdown();
}
}