3
私はjava8アプリケーションを実行している、それは一度メインスレッドの終了のように見える、プロセスが終了します。メインスレッドが終了すると非同期タスクが終了しますか?
私は非同期に別のスレッドとして実行されますので、メインスレッドの出口がプロセスの終了を引き起こすことはありませんが、それは真実ではない判明期待以下
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();
}
});
のような非同期タスクを開始するcompletableFutureを使用しています。
私は非同期ジョブがデアモンスレッドとして実行されていると思いますか?しかし、確認することはできません。
あなたがあなたの質問にもっと手の込んだ:
はあなたのような明示的な執行を渡す必要があり、これを避けるために? –コードスニペットを追加 –