此代码是否有效使用CompletableFuture.allOf(...)
CompletableFuture<String> f1 = CompletableFuture.supplyAsync(() -> "f1");
CompletableFuture<String> f2 = CompletableFuture.supplyAsync(() -> "f2");
CompletableFuture<String> f3 = f1.thenCombineAsync(f2, (s1, s2) -> s1 + s2);
CompletableFuture<Void> all = CompletableFuture.allOf(f1, f2, f3);
all.join();
在javadoc中:
此方法的应用之一是等待一组的完成 在继续执行计划之前的独立CompletableFutures,如:
CompletableFuture.allOf(c1, c2, c3).join();
。
但是我的例子中依赖的争论呢?如果它不是有效的,那么什么可能出错?为什么?
更新:也许这有助于某人,故事以jdk-8中的错误结束,可用的未来https://bugs.java.com/bugdatabase/view_bug.do?bug_id=8200347#