【发布时间】:2015-12-04 15:10:55
【问题描述】:
假设我们有以下虚拟代码:
CompletableFuture<BigInteger> cf1 = CompletableFuture.supplyAsync(() -> BigInteger.valueOf(2L));
CompletableFuture<BigInteger> cf2 = CompletableFuture.supplyAsync(() -> BigInteger.valueOf(3L));
cf1.thenCombine(cf2, (x, y) -> x.add(y)).thenAccept(System.out::println);
JVM 是否知道cf1 和cf2 在这种情况下带有独立的线程?如果线程依赖(例如,使用一个到数据库的连接)会发生什么变化?
更一般的,CompletableFuture 是如何同步线程的?
【问题讨论】:
标签: java concurrency java-8 java.util.concurrent completable-future