You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用split...end split标签实现指定顺序的并行分支与汇合?

PlantUML活动图非对称分支汇合解决方案

针对需求中无法通过嵌套split...end split实现的非对称分支逻辑,可通过fork/join结合detach语法实现,同时用红色标记所有变更内容:

核心思路

  1. 用fork替代split实现A分支的提前拆分,避开嵌套split的对称限制
  2. A分支完成后立即用join汇合,回归主流程执行B、C分支
  3. D分支执行后用detach脱离当前汇合点,等待主流程完成E步骤后再汇合
  4. 所有变更的流程元素(分支标记、步骤、汇合点)用#red设置红色

修改后的代码

@startuml
start
#red fork   ' 变更:启用fork实现A分支提前拆分
   #red :A;  ' 变更:标记A步骤为红色
   #red join ' 变更:A分支提前完成汇合
#red fork again
   :B;
   split
      :C;
   split again
      #red :D;  ' 变更:标记D步骤为红色
      #red detach ' 变更:让D分支暂时脱离主汇合逻辑
   end split
end split
:E;
#red join  ' 变更:E完成后汇合D分支
end
@enduml

代码说明

  • fork/fork again:创建并行分支,相比split更灵活,支持非对称汇合
  • detach:让D分支不参与当前的end split汇合,保持独立运行
  • 最后一个join:在E步骤完成后,将D分支与主流程汇合,满足需求
  • #red:为所有变更的语法和步骤设置红色,清晰区分修改内容

内容的提问来源于stack exchange,提问作者Mat

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 03:42:08