如何为一系列任务设计执行引擎
我试图在Java中编写一个问题,我必须执行一堆任务。
问题
执行由多个任务组成的作业,这些任务在它们之间具有依赖关系。
作业将具有任务列表,每个此类任务将进一步具有后续任务列表(每个后续任务将具有自己的后续任务 - 您可以在此处看到递归性质)。在以下情况下,每个后续任务都可以开始执行:
它被配置为在部分执行其前置任务时执行。在这种情况下,前置任务将通知它已部分完成,并且我的后续任务可以启动
成功完成其前置任务。
例
具有 2 个初始任务 A 和 B 的作业。A 有 2 个后续任务 M 和 N。B 有 1 个后续任务 P.P 有 2 个后续任务 Y 和 Z。
M可以在部分完成其前置任务A时启动,Z可以在部分完成其前置任务P时启动,N,P和Y只能分别在其前置任务A,B和P完成时启动。
我必须设计这样一个工作流程/作业的执行。在设计中,我们必须确认前置任务发送的部分完成事件,以便可以启动其后续任务。我该怎么做?是否有任何设计模式适合并发性问题?