Comment illustrer plusieurs threads dans un diagramme de séquence?

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 cela laisse un peu à désirer. J’ai fini par illustrer les threads dans des diagrammes de séquence séparés. Je ne suis pas sûr que le diagramme de séquence fonctionne nécessairement pour plusieurs threads.

Voici un diagramme qui peut être utile, et à gauche, vous pouvez voir l’explication: http://sdedit.sourceforge.net/multithreading/example/index.html

Diagramme de séquence multithreading

J’ai trouvé cette question sur Google et je n’étais pas un grand fan de la réponse acceptée, alors je suis venu avec la mienne. Voici comment j’ai représenté le modèle de threading dans mon application (mon organisation l’appelle le «sharepoint vue de concurrence»):

Point de vue simultané

J’espère que cela aide quelqu’un.

Vous pouvez utiliser un fragment “par” pour modéliser plusieurs appels synchrones exécutés en parallèle. Le fragment consiste en un rectangle avec l’étiquette “par”. Le rectangle est divisé en plusieurs boîtes, chacune représentant un fil d’exécution.

Un exemple est donné sur cette page: http://www.ibm.com/developerworks/rational/library/3101.html#N10227

Ceci est une réplique 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 insérée 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 

par exemple UML

Vous pourriez être intéressé par les diagrammes de séquence de messages , ou MSC.

Voici une diapositive décrivant MSC en quelques mots.