completable-future相关内容
Stackoverflow包含多个有关将检查的异常与CompletableFuture混合的问题. 以下是一些示例: 已检查带有CompletableFuture的异常 Java 8供应商异常处理 JDK8 CompletableFuture.supplyAsync如何处理interruptedException 虽然某些答案暗示使用CompletableFuture.com
..
在Java 8中,有两种启动异步计算的方式-CompletableFuture和ForkJoinTask.它们看起来都非常相似-CompletableFuture的内部类甚至扩展了ForkJoinTask. 是否有理由在一个之上使用另一个? 我可以看到的一个关键区别是CompletableFuture.join方法只是阻塞直到将来完成(waitingGet只是使用ManagedBloc
..
有两个代码段. 在第一个中,我们从任务中创建CompletableFuture,该任务总是会引发一些异常.然后,我们将“异常"方法应用于此未来,然后应用"theAccept"方法.我们不会将Accept方法返回的新的Future赋给任何变量.然后我们在原始将来调用"join".我们看到的是,已经调用了“异常"方法以及"thenAccept"方法.我们看到它是因为他们在输出中打印了适当的行.但
..
我已经在每个示例中看到了一个示例,但是我需要确切地了解它们之间的区别,因为有时我想可以同时使用它们来获得相同的结果,所以我想知道选择正确的一个? 使用它们中的每一个有什么好处? 像这个例子一样,都可以工作: public CompletionStage getNextQueryUUID() { return CompletableFuture.supply
..
我正在开发一个与其他Web应用程序通信的Web应用程序.我的系统有时会向其他系统发送HTTP请求作为通知.由于它们的响应对我来说不是必需的,因此我使用Java 8 CompletableFuture supplyAsync发送请求,并使用thenAccept打印它们的响应,这样我的主线程就不会被阻塞.但是,我发现CompletableFuture函数链每次大约花费100到200毫秒,这使我感到困惑
..
我有一个for循环,我正在尝试使用CompletableFuture进行并行化. for (int i = 0; i
..
我有以下代码(或多或少): ExecutorService executor = Executors.newFixedThreadPool(10); CompletableFuture .supplyAsync(()->{ return longRunningMethodThatReturnsBoolean(); }, executor) .thenA
..
可以说我有一个线程,该线程调用一堆返回completablefuture的方法,并说我将所有方法都添加到列表中,最后我执行了completablefutures.allof(list_size).join().现在列表中的期货可以扩展到多个核心吗?换句话说,期货是否安排在多个核心中以利用并行性? 解决方案 CompletableFuture表示与某些 CompletableFuture.s
..
我当前正在使用CompletableFuture supplyAsync()方法向公共线程池提交一些任务.这是代码段的样子: final List>> completableFutures = resolvers.stream() .map(resolver -> supplyAsync(() -> task.doWo
..
我试图运行以下类,使其终止而不执行CompletableFuture. public class ThenApplyExample { public static void main(String[] args) throws Exception { //ExecutorService es = Executors.newCachedThreadPool(); Comple
..
在过去,我们有ThreadLocal的程序可以将数据与请求路径一起传送,因为所有请求处理都是在该线程上完成的,诸如Logback之类的东西在MDC.put("requestId", getNewRequestId()); 中使用了此功能. 然后出现了Scala和函数式编程,接着出现了Future,随之而来的还有Local.scala(至少我知道twitter Future的twitter具有此
..
我一直在将某些代码转换为异步代码.原始的单元测试使用了注释@Test(expected = MyExcpetion.class),但是我认为这不会起作用,因为我要声明的异常包装在java.util.concurrent.ExcutionException中.我确实尝试过这样称呼我的未来,但是我的断言仍然失败,我不喜欢必须在return null 中添加 myApiCall.get(123).e
..
我现在尝试了很多事情,但是我似乎错过了一个难题.这是一个故事:我有一个请求范围的Bean,它从HttpServletRequest读取一些SessionContext.此属性在过滤器中设置.因此,当代码在正确的线程上运行时,这绝对可以正常工作. @Component @Scope(value = WebApplicationContext.SCOPE_REQUEST, proxyMode =
..
在“Java 8 in action”(Urma,Fusco和Mycroft)一书中,他们强调并行流在内部使用公共fork连接池,虽然这可以全局配置,例如:使用System.setProperty(...),它不可能为单个并行流指定一个值。 我已经看到解决方法在自定义的ForkJoinPool中运行并行流。 在本书的后面,他们有一整页专门讨论CompletableFuture,在此期间
..
我看到 CompletableFuture 有一个方法句柄与scala 未来的句柄基本上将成功和异常全部转换为成功 map 和 flatMap 上游(或 thenApply 和 thenCompose 在java世界中) 。 相当于twitter的未来 rescue (或scala future recoverWith )? scala中的rescue 基本上就像旧的java try
..
我想走一个异步函数的搜索空间。我将逻辑编码如下: / ** *假设函数将一系列输入映射到相同的输出值,最小化输入值,而 *保持输出值。 * * @param previousInput已知的最后一个输入返回{@code target} * @param currentInput新的输入值来评估 * @param函数将输入映射到输出值 * @param定位预期输出值
..
我正在寻找替代Guava的规范代码 Futures.successfulAsList() 8的 CompletableFuture 代码。 我认为 CompletableFuture.allOf() 似乎是 Futures.allAsList() ,但我看不到任何类似 successfulAsList()。 解决方案 CompletableFuture.allOf(...)实际上更接
..
在回答这个问题时,我注意到 CompletableFuture 的奇怪行为:如果你有一个 CompletableFuture cf 并用 cf.exceptionally(),调用 cf.get()似乎表现得很奇怪: 如果在特殊完成之前调用它,它会在返回 $ b之前等待执行 exceptionally()块$ b 否则,它会立即失败,抛出预期的 ExecutionException 我
..
CompletableFuture cf1 = CompletableFuture.supplyAsync(() - > { System.out.println(“enter into completableFuture()”); try { TimeUnit.SECONDS.sleep(1); } catch(InterruptedException e){ e.printSt
..
我有一些使用 CompletableFuture 运行异步的流程,例如: foo(...) .thenAccept(aaa - > { if(aaa == null){ break! } else { ... } }) .thenApply(aaa - > { ... }) .thenApply( ... 所以如果我的 foo()返回 nul
..