MST
星途 面试题库

面试题:Java中CompletableFuture allOf实现并行任务等待的基础使用

假设有三个独立的任务,任务1是计算两个整数的和,任务2是计算两个整数的差,任务3是计算两个整数的乘积。请使用Java的CompletableFuture的allOf方法实现这三个任务并行执行,并在所有任务完成后输出结果。
21.0万 热度难度
编程语言Java

知识考点

AI 面试

面试题答案

一键面试
import java.util.concurrent.CompletableFuture;

public class ParallelTasks {
    public static void main(String[] args) {
        int num1 = 5;
        int num2 = 3;

        CompletableFuture<Integer> task1 = CompletableFuture.supplyAsync(() -> num1 + num2);
        CompletableFuture<Integer> task2 = CompletableFuture.supplyAsync(() -> num1 - num2);
        CompletableFuture<Integer> task3 = CompletableFuture.supplyAsync(() -> num1 * num2);

        CompletableFuture<Void> allTasks = CompletableFuture.allOf(task1, task2, task3);

        allTasks.thenRun(() -> {
            System.out.println("任务1结果: " + task1.join());
            System.out.println("任务2结果: " + task2.join());
            System.out.println("任务3结果: " + task3.join());
        }).join();
    }
}