# 并行网关

并行网关是工作流中用于实现​​无条件并发​​的组件,它能将流程​​拆分成多个并行分支​​,并 ​​等待所有分支完成后​​才继续推进流程

foo

# 工作原理

  1. 分支机制 当流程实例到达并行网关的分支点时,网关会​​为每个出口顺序流创建一个独立的并发执行分支​​。这些分支将​​同时激活并独立执行​​,彼此之间不存在依赖关系。 需要特别注意的是,并行网关​​不会评估任何条件表达式​​。即使您在顺序流上定义了条件,并行网关也会完全忽略这些条件,而是无条件地激活所有出口路径 。这一特性使并行网关与排他网关和包含网关有了本质区别,后两者都需要根据条件表达式决定路径选择。

  2. 合并机制 并行网关的合并点是并发执行的同步点。所有并行分支在此 ​​等待,直到每个分支都完成其执行​​。只有当​​所有进入顺序流对应的分支都到达​​合并网关时,流程才会继续执行后续任务。 这种"完全同步"机制是并行网关的关键特性。如果有任何一个分支未能到达合并点(可能因为任务未完成或执行中断),整个流程将会在合并网关处​​无限期等待​​,导致流程实例无法继续执行

  3. 分支与合并的对应关系 在实际流程设计中,并行网关的分支点和合并点​​通常需要成对出现​​。一个分支网关应该对应一个合并网关,以确保所有并发分支能够正确同步 。虽然技术上不一定强制要求严格配对,但​​配对使用是最佳实践​​,可以避免流程出现未合并的分支,导致流程实例无法正常结束。

# 实战案例

# 需求描述

在员工入职场景中,IT部门配置电脑账号、HR部门办理入职手续、所在部门安排工位和导师等任务可以​​同时进行​​。这种并行准备方式可以大大缩短新员工的入职准备时间,提升入职体验。

# 流程设计

  1. 通过小扳手,设置网关为并行网关 foo

  2. 设计三条流出的连线,不需要设置条件 foo

# 流程执行

foo

在线体验,请访问ruoyiflow (opens new window)