接上篇,https://mp.csdn.net/editor/html/115466550,本篇继续介绍CompletableFuture的高阶使用方式。
1.举例
1)supplyAsync配合allOf
CompletableFuture的supplyAsync配合allOf,将所有的future绑定到一起,然后所有都执行完之后触发对应操作,demo:
allOf方法内部调用了andTree方法,看方法注释,该方法会根据传入的参数递归生成一棵树
这段代码可能看起来有点绕,我们举个具体的例子,比如添加5个任务(举例5的原因是因为当任务数为偶数的时候,情况过于简单,奇数情况下任务为3太少,所以就选取了5,5个任务可以覆盖这段代码的每处逻辑),那么cfs是个size为5的数组,lo是0,hi是4,根据这组参数,树的构成逻辑如下:
根据0和4得到mid为2,对a来说,不满足lo和mid相等的条件,所以继续递归调用andTree方法,到下面0和2得到mid为1。对b来说&#