ミゲル:
デッドプール :
runAsyncは、入力パラメータとリターンとしてのRunnableを取るCompletableFuture<Void>
、それはどんな結果を返さないことを意味し、。
CompletableFuture<Void> run = CompletableFuture.runAsync(()-> System.out.println("hello"));
しかしsuppyAsyncは、引数としてサプライヤーを取り、返しCompletableFuture<U>
、それは任意の入力パラメータを取ることはありませんが、それは出力として結果を返す意味結果値、と。
CompletableFuture<String> supply = CompletableFuture.supplyAsync(() -> {
System.out.println("Hello");
return "result";
});
System.out.println(supply.get()); //result
結論:あなたが望むのであれば、結果が返されるし、を選択しますsupplyAsync
か、あなただけの非同期アクションを実行したい場合は、その後、選択しましたrunAsync
。