如何在序列图或类似图表中清楚地说明多个执行线程?
我找不到任何明确的例子。我看到的所有图表都用于说明单个线程。
更新:接受的答案是我看到的最好的例子,但它确实留下了不少要求。我最终在单独的序列图中说明了线程。我不确定序列图是否一定适用于多个线程。
答案 0 :(得分:28)
这是一个可能有用的图表,在左侧你可以看到解释: http://sdedit.sourceforge.net/multithreading/example/index.html
答案 1 :(得分:15)
I found this question on Google and wasn't a huge fan of the accepted answer so I just came up with my own. This is how I represented the threading model in my application (my organization calls it the 'Concurrency Viewpoint'):
Hopefully it helps someone.
答案 2 :(得分:7)
您可以使用“par”片段来模拟并行执行的多个同步调用。该片段由一个标签为“par”的矩形组成。矩形被分成多个框,每个框代表一个执行线程。
从链接中提取的示例。
此页面给出了一个示例: http://www.ibm.com/developerworks/rational/library/3101.html#N10227
答案 3 :(得分:6)
这是sihaya答案的副本,但详细介绍了如何使用网络上的工具以及不会消失的视觉示例来完成它。
UML序列图方法是使用“par”片段来模拟并行处理的多个消息。下面是一个文字说明,当输入网络上提供的PlantUML工具时,会生成下图。
@startuml
Person -> MicrowaveOven : Cook Food
activate MicrowaveOven
par
MicrowaveOven -> MicrowaveOven : Activate Magnetron
else
MicrowaveOven -> MicrowaveOven : Activate Rotation Motor
end
MicrowaveOven --> Person : Delicious Food
deactivate MicrowaveOven
@enduml
答案 4 :(得分:1)
您可能对Message Sequence Charts或MSC感兴趣。
Here是一张描述MSC的幻灯片。
答案 5 :(得分:0)
我喜欢@布兰登的答案。该图显示了清晰的线程通信模型。
我还遇到了该文档,该文档具有几种不同的方法https://www.omg.org/ocup-2/documents/concurrency_in_uml_version_2.6.pdf