【发布时间】:2018-11-08 05:57:29
【问题描述】:
我想做的是异步计算树结构的深度,我将拥有树的第一层,我想启动一个异步线程来分别计算每个节点的深度。
在计算过程中,树中显然可能有一个分叉,此时我想启动一个额外的线程来计算该分支。
我已经完成了这项工作,但是当所有这些期货都完成后,我需要做一些整理逻辑。但是我遇到了沿途产生的额外 CompletableFutures 的问题。
我将使用什么方法来保存所有开始的 CompletableFutures + 那些在此过程中动态创建的方法,并且有办法在执行任何其他逻辑之前等待它们全部完成。
【问题讨论】:
-
看stackoverflow.com/questions/33944471/…这个讨论可能对你有帮助
-
我认为最好提供一个简化版本的代码以便更好地理解。根据您的描述,您似乎只需要
allOf()和thenCompose()的正确组合。此外,有点不清楚您生成任务/线程的策略是什么。