[英]What is the difference between thenApply and thenApplyAsync of Java CompletableFuture?
[英]When to use CompletableFuture#thenApply(..) over thenApplyAsync(..)?
在CompletableFuture
上下文中,我理解thenApply(..)
可以使用当前线程并且可以使用预定义的执行器(例如 ForkJoinPool),而thenApplyAsync(..)
确保将始终使用预定义的执行器。
就我所见, thenApplyAsync(..)
似乎更“可靠”,因为它从不阻塞当前线程,而thenApply(..)
可能是一个惊喜。
我的问题:哪个示例/场景可以使用thenApply(..)
而不是thenApplyAsync(..)
?
谢谢,克里斯托夫
是的, thenApplyAsync
会使用一些执行器。 这意味着必须创建一些 Runnable 对象并将其放入执行程序的队列中。 如果这个CompletableFuture
后要执行的函数很简单,那么直接调用这个方法可能比创建包络 Runnable 效率更高。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.