工作中经常碰到一些需求,一个接口经常需要调用几次或几个其他接口。碰到这种需求,一般没什么要求的可以直接顺序串行调用。但是,如果对接口性能要求稍微高一点点,往往串行调用就很容易不满足要求,主要是接口耗时这块相对比较高。这种场景是很常见的,因此JDK也提供了 CompletableFuture 这个类让我们方便处理这种需求。
public class DemoApplication { public static void main(String[] args) { CompletableFuture<?> cf1 = CompletableFuture.runAsync(new Runnable() { @Override public void run() { // 接口1调用 } }); CompletableFuture<?> cf2 = CompletableFuture.runAsync(new Runnable() { @Override public void run() { // 接口2调用 } }); CompletableFuture<Void> all = CompletableFuture.allOf(cf1, cf2); // 等待所有子任务处理完毕 all.join(); } }