小编Dav*_*ero的帖子

如何在java 8中使用CompletableFuture启动异步任务并让主线程完成并退出

我有以下代码(或多或少):

ExecutorService executor = Executors.newFixedThreadPool(10);
CompletableFuture
    .supplyAsync(()->{
        return longRunningMethodThatReturnsBoolean();
    }, executor)
    .thenAcceptAsync(taskResult -> {
        logResult();
        executor.shutdown(); 
    }, executor);
Run Code Online (Sandbox Code Playgroud)

这允许主线程中的代码继续,但是我希望主线程在完成时死亡,并且未来继续在它自己的线程中工作,但是主线程保持活动状态直到 CompletableFuture 完成,即使主线程没有不再做任何事情。

我对这个有点陌生,我错过了什么吗?甚至有可能吗?

任何帮助将不胜感激!!!

java multithreading completable-future

3
推荐指数
2
解决办法
2365
查看次数

标签 统计

completable-future ×1

java ×1

multithreading ×1