【发布时间】:2017-05-06 16:07:36
【问题描述】:
我正在运行java8应用程序,看起来一旦主线程退出,进程就会退出。
我正在使用 completableFuture 启动如下异步任务
CompletableFuture cf = CompletableFuture.supplyAsync(() -> task.call());
cf.thenRunAsync(() -> {
try {
System.out.println(Thread.currentThread());
System.out.println((Double)cf.get() * 4.0);
} catch (InterruptedException e) {
e.printStackTrace();
} catch (ExecutionException e) {
e.printStackTrace();
}
});
我希望 async 将作为单独的线程运行,因此主线程退出不应导致进程退出,但事实证明并非如此。
我猜异步作业是作为守护线程运行的?但无法确认。
【问题讨论】:
-
您能否详细说明您的问题?
-
添加代码sn-p
标签: java multithreading