溫馨提示×

java異步線程如何獲取返回值

小億
379
2024-03-12 09:51:25
欄目: 編程語言

Java中異步線程獲取返回值的常用方法有以下幾種:

  1. 使用Future接口:可以通過Future接口和FutureTask類來獲取異步線程的返回值。Future接口提供了get()方法,可以用來獲取異步線程執行完畢后的返回值。
ExecutorService executor = Executors.newFixedThreadPool(1);
Future<Integer> future = executor.submit(() -> {
    // 異步任務
    return 1;
});

try {
    Integer result = future.get();
    System.out.println("異步任務的返回值為:" + result);
} catch (InterruptedException | ExecutionException e) {
    e.printStackTrace();
}
  1. 使用CompletableFuture類:CompletableFuture是Java 8中提供的一個Future的實現類,可以用來處理異步任務的返回值。
CompletableFuture<Integer> future = CompletableFuture.supplyAsync(() -> {
    // 異步任務
    return 1;
});

future.thenAccept(result -> {
    System.out.println("異步任務的返回值為:" + result);
});
  1. 使用回調函數:可以在異步任務執行完畢后通過回調函數獲取返回值。
ExecutorService executor = Executors.newFixedThreadPool(1);
executor.submit(() -> {
    // 異步任務
    int result = 1;
    
    // 調用回調函數處理返回值
    callbackFunction(result);
});

public void callbackFunction(int result) {
    System.out.println("異步任務的返回值為:" + result);
}

以上就是幾種常用的Java異步線程獲取返回值的方法,根據具體情況可以選擇適合自己的方式。

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