我正在尝试用 Java 编写一个问题,我必须执行一堆任务。
Problem
执行由多个任务组成的作业,并且这些任务之间具有依赖关系。
一个作业将有一个任务列表,每个这样的任务将进一步有一个后续任务列表(每个后续任务将有自己的后续任务 - 您可以在此处看到递归性质)。每个后续任务都可以开始执行,如果 -
它被配置为在其前置任务的部分执行时执行。在这种情况下,前置任务将通知它已部分完成,并且我的后续任务可以开始
圆满完成前期任务。
Example
作业有 2 个初始任务 A 和 B。A 有 2 个后续任务 M 和 N。B 有 1 个后续任务 P。P 有 2 个后续任务 Y 和 Z。
M 可以在其前置任务 A 部分完成后开始。
Z 可以在其前置任务 P 部分完成后开始。
N、P和Y只有分别完成其前置任务A、B和P后才能开始。
我必须设计这样一个工作流程/作业的执行。在设计中,我们必须确认前置任务发送的部分完成事件,以便可以启动其后继任务。我该怎么办?有没有适合这个并发问题的设计模式?
看看阿卡 -http://akka.io http://akka.io/
使用 akka 创建参与者(事件驱动、异步处理消息的并发实体)
每个任务都可以表示为一个参与者(您选择何时启动它)
您可以在部分完成或完全完成时触发其他参与者(任务)(实际上您可以随时触发它们)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)