如何在序列图中说明多个线程?

问题描述 投票:58回答:5

如何在序列图或类似图表中清楚地说明多个执行线程?

我找不到任何明确的例子。我看到的所有图表都用于说明单个线程。


更新:接受的答案是我看到的最好的例子,但它确实留下了一些不足之处。我最终在单独的序列图中说明了线程。我不确定序列图是否一定适用于多个线程。

multithreading uml sequence-diagram
5个回答
29
投票

这是一个可能有用的图表,在左侧你可以看到解释:http://sdedit.sourceforge.net/multithreading/example/index.html

Multithreading Sequence Diagram


16
投票

我在Google上发现了这个问题并且并不是接受答案的忠实粉丝,所以我想出了自己的答案。这就是我在我的应用程序中表示线程模型的方式(我的组织称之为'并发视点'):

Concurrency viewpoint

希望它可以帮助某人。


10
投票

您可以使用“par”片段来模拟并行执行的多个同步调用。该片段由一个标签为“par”的矩形组成。矩形被分成多个框,每个框表示一个执行线程。

下面是从链接中提取的示例。

enter image description here

本页给出了一个例子:http://www.ibm.com/developerworks/rational/library/3101.html#N10227


7
投票

这是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

par UML example


0
投票

您可能对Message Sequence Charts或MSC感兴趣。

Here是一张描述MSC的幻灯片。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.