我希望实现一个Java应用程序,该应用程序将计算一组要执行的任务。任务将相互依赖,形成一个有向图。是否有现有的SDK或算法(最好是Java)对我有帮助:
步骤3是最重要的部分。我需要以并行方式执行任务以实现最佳性能,但要确保在依赖项之前不执行任务。
最佳答案
看一下以前的question,它实际上建议使用JGraphT。
显然,它将使1)变得容易,并为第3部分提供了循环检测器。不要以为它会为您做第3部分,但您要做的就是让所有出顶点(或度数,取决于您的表示形式)的顶点都为0,然后开始执行这些任务。任务完成后,请从图形中删除顶点,然后重新开始。