MST

星途 面试题库

面试题:Java中CompletableFuture的supplyAsync方法基础使用

请简述Java中CompletableFuture的supplyAsync方法的作用,并且编写一段代码示例,使用supplyAsync方法创建一个异步任务,该任务返回一个字符串结果,最后在主线程中获取并打印该结果。
42.2万 热度难度
编程语言Java

知识考点

AI 面试

面试题答案

一键面试

CompletableFuture的supplyAsync方法的作用

supplyAsync方法用于异步执行有返回值的任务。它会在一个默认的线程池中(如果没有指定自定义线程池)异步执行给定的Supplier函数式接口实现,并返回一个CompletableFuture对象,通过这个对象可以获取异步任务执行的结果。

代码示例

import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ExecutionException;

public class CompletableFutureExample {
    public static void main(String[] args) throws ExecutionException, InterruptedException {
        CompletableFuture<String> future = CompletableFuture.supplyAsync(() -> {
            // 模拟一个耗时操作
            try {
                Thread.sleep(2000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            return "异步任务执行结果";
        });

        // 获取并打印异步任务的结果
        String result = future.get();
        System.out.println(result);
    }
}