Comment pouvez-vous illustrer clairement plusieurs threads d'exécution dans un diagramme de séquence ou un diagramme similaire?
Je n'ai pas pu trouver d'exemples clairs. Tous les diagrammes que je vois sont utilisés pour illustrer un seul fil.
Mise à jour: La réponse acceptée était le meilleur exemple que j'ai vu, mais elle laisse un peu à désirer. J'ai fini par illustrer les threads dans des diagrammes de séquence séparés. Je ne sais pas si le diagramme de séquence fonctionne nécessairement pour plusieurs threads.
Voici un diagramme qui peut être utile, et sur le côté gauche, vous pouvez voir l'explication: http://sdedit.sourceforge.net/multithreading/example/index.html
Vous pouvez utiliser un fragment "par" pour modéliser plusieurs appels synchrones exécutés en parallèle. Le fragment est constitué d'un rectangle avec l'étiquette "par". Le rectangle est divisé en plusieurs cases, chacune représentant un fil d'exécution.
Ci-dessous un exemple extrait du lien.
Un exemple est donné sur cette page: http://www.ibm.com/developerworks/rational/library/3101.html#N10227
Ceci est un double de la réponse de sihaya, mais avec des détails sur la façon de l'accomplir avec des outils sur le web et un exemple visuel qui ne disparaîtra pas.
L'approche du diagramme de séquence UML consiste à utiliser le fragment "par" pour modéliser plusieurs messages traités en parallèle. Vous trouverez ci-dessous une description textuelle qui, une fois introduite dans l'outil PlantUML disponible sur le Web, produira le diagramme ci-dessous.
@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
Vous pouvez être intéressé par Diagrammes de séquence de messages , ou MSC.
Ici est une diapositive décrivant MSC en bref).