温馨提示×

java异步线程如何获取返回值

小亿
336
2024-03-12 09:51:25
栏目: 编程语言
Java开发者专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

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异步线程获取返回值的方法,根据具体情况可以选择适合自己的方式。

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读:java怎么获取线程返回值

0