CompletableFuture runAsync vs supplyAsync,什么时候选择一个而不是另一个?
2022-09-01 17:02:16
runAsync 将 Runnable 作为输入参数并返回 ,这意味着它不返回任何结果。CompletableFuture<Void>
CompletableFuture<Void> run = CompletableFuture.runAsync(()-> System.out.println("hello"));
但是 suppyAsync 将 Supplier 作为参数并返回 with result 值,这意味着它不采用任何输入参数,但它返回结果作为输出。CompletableFuture<U>
CompletableFuture<String> supply = CompletableFuture.supplyAsync(() -> {
System.out.println("Hello");
return "result";
});
System.out.println(supply.get()); //result
结论:因此,如果要返回结果,请选择 或者如果您只想运行异步操作,请选择 。supplyAsync
runAsync