MST

星途 面试题库

面试题:Java中CompletableFuture thenRun无参操作的基础应用

请编写一段Java代码,使用CompletableFuture的thenRun方法,在一个模拟的异步任务完成后,打印出'任务已完成'。要求异步任务模拟耗时操作,例如线程休眠3秒。
16.5万 热度难度
编程语言Java

知识考点

AI 面试

面试题答案

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

public class CompletableFutureExample {
    public static void main(String[] args) {
        CompletableFuture<Void> future = CompletableFuture.runAsync(() -> {
            try {
                TimeUnit.SECONDS.sleep(3);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }).thenRun(() -> {
            System.out.println("任务已完成");
        });

        // 防止主线程退出
        try {
            future.get();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}