共計 906 個字符,預(yù)計需要花費 3 分鐘才能閱讀完成。
Java 中異步線程獲取返回值的常用方法有以下幾種:
- 使用 Future 接口:可以通過 Future 接口和 FutureTask 類來獲取異步線程的返回值。Future 接口提供了 get() 方法,可以用來獲取異步線程執(zhí)行完畢后的返回值。
ExecutorService executor = Executors.newFixedThreadPool(1);
Future<Integer> future = executor.submit(() -> {// 異步任務(wù)
return 1;
});
try {Integer result = future.get();
System.out.println(" 異步任務(wù)的返回值為:" + result);
} catch (InterruptedException | ExecutionException e) {e.printStackTrace();
}
- 使用 CompletableFuture 類:CompletableFuture 是 Java 8 中提供的一個 Future 的實現(xiàn)類,可以用來處理異步任務(wù)的返回值。
CompletableFuture<Integer> future = CompletableFuture.supplyAsync(() -> {// 異步任務(wù)
return 1;
});
future.thenAccept(result -> {System.out.println(" 異步任務(wù)的返回值為:" + result);
});
- 使用回調(diào)函數(shù):可以在異步任務(wù)執(zhí)行完畢后通過回調(diào)函數(shù)獲取返回值。
ExecutorService executor = Executors.newFixedThreadPool(1);
executor.submit(() -> {// 異步任務(wù)
int result = 1;
// 調(diào)用回調(diào)函數(shù)處理返回值
callbackFunction(result);
});
public void callbackFunction(int result) {System.out.println(" 異步任務(wù)的返回值為:" + result);
}
以上就是幾種常用的 Java 異步線程獲取返回值的方法,根據(jù)具體情況可以選擇適合自己的方式。
丸趣 TV 網(wǎng) – 提供最優(yōu)質(zhì)的資源集合!
正文完