要實現并行調用多個接口,可以使用Java的多線程技術。可以創建多個線程,分別調用不同的接口,并行地執行。
下面是一個簡單的示例代碼:
import java.util.concurrent.*;
public class ParallelInterfaceInvocation {
public static void main(String[] args) {
ExecutorService executor = Executors.newFixedThreadPool(2);
// 創建多個Callable任務,每個任務分別調用一個接口
Callable<String> task1 = new Callable<String>() {
@Override
public String call() throws Exception {
// 調用接口1的邏輯
return "Result from Interface 1";
}
};
Callable<String> task2 = new Callable<String>() {
@Override
public String call() throws Exception {
// 調用接口2的邏輯
return "Result from Interface 2";
}
};
// 提交任務給線程池
Future<String> future1 = executor.submit(task1);
Future<String> future2 = executor.submit(task2);
try {
// 獲取接口調用結果
String result1 = future1.get();
String result2 = future2.get();
// 處理接口調用結果
System.out.println("Result from Interface 1: " + result1);
System.out.println("Result from Interface 2: " + result2);
// 關閉線程池
executor.shutdown();
} catch (InterruptedException | ExecutionException e) {
e.printStackTrace();
}
}
}
在上面的代碼中,我們創建了一個固定大小為2的線程池,然后創建了兩個Callable任務,分別代表調用兩個不同接口的邏輯。接著,我們將這兩個任務提交給線程池,得到兩個Future對象,分別表示每個任務的執行結果。通過調用Future對象的get()方法,可以獲取每個任務的返回結果,然后進行相應的處理。
這樣,我們就實現了并行調用多個接口的功能。注意,如果接口的調用是阻塞的,可以使用Future對象的get()方法來等待接口調用的完成。如果接口的調用是非阻塞的,可以使用Future對象的isDone()方法來判斷接口調用是否完成。