工作流控制模式-高级分支和同步模式14种
作者:互联网
高级分支和同步模式使得各个工作流产品在技术水平上拉开档次,技术上实现比较复杂。高 级分支、同步模式共有14种,如图A-8所示。
图 A-8 高级分支和同步模式
- 多选择:分支分裂为两个或多个后续分支,当分支执行完毕后会选择触发后续分支的一 个或多个同时执行,M选N。
- 结构化同步合并:两个或多个分支合并为一个后续分支,只有当所有被实际触发的分支 都执行完毕后才会触发后续分支的执行。
- 多合并:两个或多个分支合并为一个后续分支,每个实际触发的分支执行完毕后都会触 发后续分支的执行。
- 结构化鉴别器:两个或多个分支合并为一个后续分支,第一个执行完毕的分支触发后续 分支的执行,其他分支继续执行,但是被忽略,执行完毕后不再触发后续分支。
- 阻塞鉴别器:两个或多个分支合并为一个后续分支,第一个执行完毕的分支触发后续分 支的执行,其他分支继续执行,但是被忽略,执行完毕后不再触发后续分支。如果分支 有多个执行线程,那么在第一个执行线程被合并之前,后续线程被阻塞。
- 取消鉴别器:两个或多个分支合并为一个后续分支,第一个执行完毕的分支触发后续分 支的执行,其他分支取消执行。
- 结构化部分合并:两个或多个分支合并为一个后续分支,假设流程实例中实际触发的分 支为M个,第N个实际触发的分支执行完毕后触发后续分支的执行,N < M,其他分支继 续执行,但是被忽略,执行完毕后不再触发后续分支。
- 阻塞部分合并:两个或多个分支合并为一个后续分支,第N个实际触发的分支执行完毕后 触发后续分支的执行,其他分支继续执行,但是被忽略,执行完毕后不再触发后续分支。 如果分支有多个执行线程,那么在第一个执行线程被合并之前,后续线程被阻塞。
- 取消部分合并:两个或多个分支合并为一个后续分支,第N个实际触发的分支执行完毕后 触发后续分支的执行,其他分支取消执行。
- 泛化同步:同步模式的泛化,两个或多个分支合并为一个后续分支,等待所有分支都执 行完毕后,后续分支才会触发,支持多个分支执行线程的同时合并。
- 本地同步合并:两个或多个分支合并为一个后续分支,该模式基于本地数据来决定需要 同步的分支以及时机。
- 通用同步合并:两个或多个分支合并为一个后续分支,当所有被实际触发的分支都执行 完毕并且未来也不会再被触发后才会触发后续分支的执行。与结构化同步合并的区别在 于没有前提条件:不需要结构化建模,也不需要执行线程安全。
- 多线程合并:在流程的一个特定点,将一个分支的多个执行线程合并为一个执行线程。 合并线程的数量在定义期确定。
- 多线程分裂:在流程的一个特定点,为一个分支初始化多个执行线程。执行线程的数量 在定义期确定。
标签:触发,后续,合并,模式,线程,分支,流控制,执行,14 来源: https://www.cnblogs.com/x3d/p/15376666.html