一尘不染

Java中的有向图处理

algorithm

我希望实现一个Java应用程序,该应用程序将计算一组要执行的任务。任务将相互依赖,形成有向图。是否有现有的SDK或算法(最好是Java)对我有帮助:

  1. 定义任务图
  2. 确保图中没有循环依赖性
  3. 使用线程池执行图中的任务

步骤3是最重要的部分。我需要以并行方式执行任务以实现最佳性能,但要确保在依赖项之前不执行任务。


阅读 423

收藏
2020-07-28

共1个答案

一尘不染

看一下前面的问题,它本质上建议使用JGraphT

显然,它将使1)变得容易,并为第3部分提供了循环检测器。不要以为它会为您做第3部分,但您要做的就是让所有出顶点(或度数取决于您的表示形式)的顶点都为0,然后开始执行这些任务。任务完成后,请从图形中删除顶点,然后重新开始。

2020-07-28