completable-future相关内容

Java 8 Completable Futures allOf不同的数据类型

我有3个CompletableFutures,所有3个返回不同的数据类型。 我希望创建一个结果对象,它是所有3个期货返回的结果的组合。 所以我目前的工作代码如下所示: public ClassD getResultClassD(){ ClassD resultClass = new ClassD(); CompletableFuture classA ..
发布时间:2019-01-14 11:27:44 Java相关

仅在达到条件时才链接多个CompletionStage

我有几个 CompletionStage 我想要链接的方法。问题是第一个的结果将决定是否应该执行下一个。现在,实现这一目标的唯一方法似乎是将“特殊”参数传递给下一个 CompletionStage ,因此它不会执行完整代码。例如: public enum SomeResult { RESULT_1, RESULT_2, RESULT_3 } public Completio ..
发布时间:2019-01-14 11:25:16 Java相关

执行CompletableFuture的多个thenAccept块的顺序是什么

所以我有一个返回 CompletableFuture 的方法。在返回之前,此方法添加一个块 thenAccept ,该块在 CompletableFuture 完成后执行。 此方法的调用者还添加了另一个块 thenAccept 。显然,这可以继续多个链式调用。 返回 CompletionStage 的顺序$ c> thenAccept 执行调用?是否保证是添加它们的顺序?如果没有,如何 ..
发布时间:2019-01-02 20:46:26 Java开发

什么是等待可完成的未来线程完成的推荐方法

我正在使用 CompletableFuture ,如下面的代码所示。但关于我应该等到所有可运行完成的方式,我找到了两种方法,我不知道它们之间的区别,哪一种是最佳实践?它们如下: 代码: this.growSeedFutureList = CompletableFuture.runAsync(new GrowSeedSERun(this.saliencyMat,this.seedXY, ..
发布时间:2018-12-28 20:58:11 Java开发

在编写Java CompletableFutures时使用哪个执行程序?

我在某个存储库类上有一个方法,它返回 CompletableFuture 。完成这些期货的代码使用阻止的第三方库。我打算有一个单独的有限 Executor ,这个存储库类将使用它来进行这些阻塞调用。 这是例如: public class PersonRepository { private Executor executor = ... public CompletableFu ..
发布时间:2018-12-28 15:24:03 Java开发

CompletableFuture withFallback /只处理一些错误

我通过CompletableFuture收到服务电话的回复。我想处理服务返回的一些已知异常—比如乐观并发控制冲突。 这就是我所拥有的。是否有更好的方法来执行不包装异常或使用SneakyThrows?包装异常意味着其他异常处理程序必须检查因果链,而不是仅使用 instanceof 。 someService.call(request) .handle((response,error) ..
发布时间:2018-12-27 18:04:23 Java开发

如何中断CompletableFuture的底层执行

我知道 CompletableFuture 设计不能通过中断来控制它的执行,但我想你们中的一些人可能会遇到这个问题。 CompletableFuture 是组合异步执行的非常好的方法,但考虑到你希望在取消未来时中断或停止底层执行的情况,我们该怎么做?或者我们必须接受任何取消或手动完成的 CompletableFuture 不会影响在那里完成它的线程吗? 更新 这是一个简单的测试 ..
发布时间:2018-12-26 14:30:49 Java开发