溫馨提示×

java并行調用多個接口怎么實現

小億
413
2023-11-23 00:46:09
欄目: 編程語言

要實現并行調用多個接口,可以使用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()方法來判斷接口調用是否完成。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女