PlantUML:重叠激活(多线程)

PlantUML: overlapping activations (multiple threads)

我试图在我的序列图中显示重叠激活(我使用的是 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

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

支持吗?我做错了什么吗?

谢谢!

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

@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

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