Java CompletableFuture thenAcceptBothAsync与CombineAsync
Java的CompletableFuture方法之间的区别是什么:Java CompletableFuture thenAcceptBothAsync与CombineAsync,java,completable-future,Java,Completable Future,Java的CompletableFuture方法之间的区别是什么: thenAcceptBothAsync(CompletionStage<? extends U> other, BiConsumer<? super T,? super U> action) 然后AcceptBothasync(CompletionStage)如果您需要帮助实现,可以提供几行代码,更详细地说明您的未来以及您希望如何使用它们。javadoc文档应该足以理解这两个功能(看起来它们除了在两个未
thenAcceptBothAsync(CompletionStage<? extends U> other, BiConsumer<? super T,? super U> action)
然后AcceptBothasync(CompletionStage)如果您需要帮助实现,可以提供几行代码,更详细地说明您的未来以及您希望如何使用它们。javadoc文档应该足以理解这两个功能(看起来它们除了在两个未来完成后调用的函数是双消费函数还是双函数之外没有其他区别,对于人们希望如何使用它们,没有其他假设)。对于顺序执行,请使用。对于并行执行,请同时使用thenCombine[Async]
和thenaptboth[Async]
是有效的选择,这取决于你想对结果做什么。是的,BiConsumer
通常有副作用。文档甚至提到了这一点:“与大多数其他功能界面不同,BiConsumer
预期通过副作用运行”。我不知道您希望如何顺序组合两个异步期货。但是thenaptboth[Async]
和thenanction[Async]
之间的区别与thenaptop[Async]
和thenApply[Async]
之间的区别相同。这与acceptor[Async]之间的区别相同
和applytoother[Async]代码>。或者介于runAsync
和supplyAsync
之间。如果您需要帮助实现,可以提供几行代码,更详细地说明您的未来以及您希望如何使用它们。javadoc文档应足以理解这两个功能(看起来它们除了在两个未来完成后调用的函数是双消费函数还是双函数之外没有其他区别,对于人们希望如何使用它们,没有其他假设)。对于顺序执行,请使用。对于并行执行,请同时使用thenCombine[Async]
和thenaptboth[Async]
是有效的选择,这取决于你想对结果做什么。是的,BiConsumer
通常有副作用。文档甚至提到了这一点:“与大多数其他功能界面不同,BiConsumer
预期通过副作用运行”。我不知道您希望如何顺序组合两个异步期货。但是thenaptboth[Async]
和thenanction[Async]
之间的区别与thenaptop[Async]
和thenApply[Async]
之间的区别相同。这与acceptor[Async]之间的区别相同
和applytoother[Async]代码>。或介于runAsync
和supplyAsync
之间。
thenCombineAsync(CompletionStage<? extends U> other, BiFunction<? super T,? super U,? extends V> fn)