PlantUML:重叠激活(多线程)

Jua*_*eni 12 uml plantuml

我试图在我的序列图中显示重叠的激活(我使用的是 PlantUML),但它们显示为嵌套激活:

例如:

@startuml
participant T1
participant T2
participant Main

T1 -> Main ++ #red: start
T2 -> Main ++ #yellow: start

Main --> T1 -- #red : done
Main --> T2 -- #yellow : done

@enduml
Run Code Online (Sandbox Code Playgroud)

这将显示嵌套的红色/黄色激活,而我期望红色在黄色之前完成。

这是支持的吗?难道我做错了什么?

谢谢!

Fre*_*ing 16

如果我正确理解了这个问题,那么您正在尝试证明Main可以并行激活。如果是这样,您应该使用par片段来指示并行操作(请参阅并行片段)。这可以描述如下:

@startuml
participant T1
participant T2
participant Main

par
    T1 -> Main ++ #red: start
    Main --> T1 -- #red : done

    else

    T2 -> Main ++ #yellow: start
    Main --> T2 -- #yellow : done
end
@enduml
Run Code Online (Sandbox Code Playgroud)

虽然else关键字通常用于alt/else片段,但它也可以用于其他组类型以添加​​视觉分隔符。上面的结果图如下所示。

在此处输入图片说明