# 并行网关
并行网关能够在一个流程中用于进行并发建模处理,将单条线路拆分成多条路径并行执行,或者将多条路径合并处理。 在一个流程模型中引入并发最直接的网关就是并行网关,它基于进入和外出顺序流,有分支和合并两种行为,可以将流程拆分多个分支, 或者将多个分支合并。
分支即并行拆分,流程从并行网关流出后,并行网关会为所有外出顺序分别创建一个并发分支,需要注意, 并行网关会忽略外出顺序流上的条件(不会解析条件)。它的每个后继分支路径都是被无条件执行。
合并即并行合并,所有到达并行网关的分支路径都汇聚于此等待。只有当所有的进入顺序流的分支都到达后, 流程才会通过并行网关,如果有分支未到或中断,那么并行网关将一直处于等待状态。
并行网关可以多进多出。如果一个并行网关有多个进入和多个外出顺序流,那么它就同时具备分支和合并功能。 这种情况下,并行网关先合并所有进入顺序流,然后将其拆分程多个并行分支往外流。
# 需求说明
假设社交有一个需求,对用户上传的图片并行处理几个任务,所有任务正常达到要求才能上传系统。
图片格式检查
图片大小检查
图片鉴黄处理
图片鉴暴处理
# 演示验证
使用将军角色的用户登陆系统,比如:关羽,张飞
- 通过发起流程按钮,提交表单
- 点击预览,可以看到并行网关的运行轨迹