completable-future相关内容
CompletableFuture :: supplyAsync(() - > IO约束查询) 如何选择CompletableFuture :: supplyAsync的执行程序,以避免污染 ForkJoinPool.commonPool()。 执行者中有很多选项( newCachedThreadPool , newWorkStealingPool , newFixedThreadPo
..
我有检查CompletableFuture执行时间的方法。如果此类CompletableFuture执行的时间超过2秒,我想要终止此任务。但是,如果我没有执行CompletableFuture方法的控制线程,我怎么办? final CompletableFuture
..
我正在玩Java 8可完成的期货。我有以下代码: CountDownLatch waitLatch = new CountDownLatch(1); CompletableFuture future = CompletableFuture.runAsync(() - > { try { System.out.println(“Wait”); waitLatch.awa
..
我有3个CompletableFutures,所有3个返回不同的数据类型。 我希望创建一个结果对象,它是所有3个期货返回的结果的组合。 所以我目前的工作代码如下所示: public ClassD getResultClassD(){ ClassD resultClass = new ClassD(); CompletableFuture classA
..
我有几个 CompletionStage 我想要链接的方法。问题是第一个的结果将决定是否应该执行下一个。现在,实现这一目标的唯一方法似乎是将“特殊”参数传递给下一个 CompletionStage ,因此它不会执行完整代码。例如: public enum SomeResult { RESULT_1, RESULT_2, RESULT_3 } public Completio
..
我有的列表CompletableFuture : 列表与LT; CompletableFuture<为MyService>> 其中 MyService 是不可变的,如下所示: public class MyService { public boolean isAvailable(){ return true; //或
..
我试图理解CompletableFuture,并遇到了2个方法,然后是ApplyAsync然后是Make。 我试图了解这两者之间的区别。 CompletableFuture completableFuture = CompletableFuture.supplyAsync(() - > { System.out.println(Thread.currentThread
..
我有一个使用界面的框架CompletionStage ,我很好奇为什么在 anyOf 或 allOf https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html“rel =”nofollow“> CompletableFuture 在那里定义。 看起来它们应该在接口而不是实现上运行
..
例如我有这样的方法: public CompletableFuture getPage(int i){ ... } public CompletableFuture getDocument(int i){ ... } public CompletableFuture parseLinks(文档doc){ ... }
..
所以我有一个返回 CompletableFuture 的方法。在返回之前,此方法添加一个块 thenAccept ,该块在 CompletableFuture 完成后执行。 此方法的调用者还添加了另一个块 thenAccept 。显然,这可以继续多个链式调用。 返回 CompletionStage 的顺序$ c> thenAccept 执行调用?是否保证是添加它们的顺序?如果没有,如何
..
我(大多数)理解
..
我有一个场景,我必须轮询远程服务器,检查任务是否已完成。一旦它有,我会进行不同的调用以检索结果。 我原本认为我应该使用 SingleThreadScheduledExecutor 使用 scheduleWithFixedDelay 进行轮询: ScheduledExecutorService executor = Executors.newSingleThreadScheduledE
..
如果我有 CompletableFuture future1 = service.request(param1); CompletableFuture future2 = service.request(param2); CompletableFuture many = CompletableFuture.allOf(f
..
我正在使用 CompletableFuture ,如下面的代码所示。但关于我应该等到所有可运行完成的方式,我找到了两种方法,我不知道它们之间的区别,哪一种是最佳实践?它们如下: 代码: this.growSeedFutureList = CompletableFuture.runAsync(new GrowSeedSERun(this.saliencyMat,this.seedXY,
..
我在某个存储库类上有一个方法,它返回 CompletableFuture 。完成这些期货的代码使用阻止的第三方库。我打算有一个单独的有限 Executor ,这个存储库类将使用它来进行这些阻塞调用。 这是例如: public class PersonRepository { private Executor executor = ... public CompletableFu
..
我通过流式传输对象列表来调用异步客户端方法。该方法返回Future。 迭代调用后返回的Futures列表的最佳方法是什么(以便处理那些首先出现的Future)? 注意:异步客户端仅返回Future not CompletableFuture。 以下是代码: 列表> listOfFuture = objectsToProcess.parall
..
直接将代码传递给线程vs使用CompletableFuture有什么好处? Thread thread = new Thread(() - > {做某事}); thread.start(); VS CompletableFuture<无效> cf1 = CompletableFuture.runAsync(() - > {do somet
..
我通过CompletableFuture收到服务电话的回复。我想处理服务返回的一些已知异常—比如乐观并发控制冲突。 这就是我所拥有的。是否有更好的方法来执行不包装异常或使用SneakyThrows?包装异常意味着其他异常处理程序必须检查因果链,而不是仅使用 instanceof 。 someService.call(request) .handle((response,error)
..
我知道 CompletableFuture 设计不能通过中断来控制它的执行,但我想你们中的一些人可能会遇到这个问题。 CompletableFuture 是组合异步执行的非常好的方法,但考虑到你希望在取消未来时中断或停止底层执行的情况,我们该怎么做?或者我们必须接受任何取消或手动完成的 CompletableFuture 不会影响在那里完成它的线程吗? 更新 这是一个简单的测试
..
Java 8有一个函数 CompletableFuture.allOf(CompletableFuture ... cfs) ,返回 CompletableFuture 在所有给定的期货完成时完成。 但是,我几乎总是没有处理 CompletableFuture s,但是具有 List 。当然,我可以使用 toArray()方法,但是这必须经常在数
..