Jak zilustrować wiele wątków na diagramie sekwencji?

Jak można wyraźnie zobrazować wiele wątków wykonania na diagramie sekwencji lub podobnym diagramie?

Nie udało mi się znaleźć żadnych jasnych przykładów. Wszystkie diagramy, które widzę, służą do zilustrowania pojedynczego wątku.


Update : przyjęta odpowiedź była najlepszym przykładem, jaki widziałem, ale pozostawia sporo do życzenia. Skończyło się na zilustrowaniu wątków na oddzielnych diagramach sekwencji. Nie jestem pewien, czy schemat sekwencji koniecznie działa dla wielu nici.

Author: Marcus Leon, 2009-10-29

5 answers

Oto jeden diagram, który może być przydatny, a po lewej stronie widać Wyjaśnienie: http://sdedit.sourceforge.net/multithreading/example/index.html

Wielowątkowy Diagram Sekwencji

 23
Author: James Black,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-10-05 19:18:39

Znalazłem to pytanie w Google i nie byłem wielkim fanem zaakceptowanej odpowiedzi, więc po prostu wymyśliłem własną. W ten sposób przedstawiłem model wątku w mojej aplikacji (Moja organizacja nazywa go "punktem widzenia współbieżności"):

Punkt widzenia współbieżności

Mam nadzieję, że to komuś pomoże.

 14
Author: Brandon,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-02-12 19:27:59

Możesz użyć fragmentu " par " do modelowania wielu synchronicznych wywołań wykonywanych równolegle. Fragment składa się z prostokąta z napisem "par". Prostokąt jest podzielony na wiele pól, z których każde reprezentuje wątek wykonania.

Przykład jest podany na tej stronie: http://www.ibm.com/developerworks/rational/library/3101.html#N10227

 6
Author: sihaya,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-03-06 10:57:06

Jest to duplikat odpowiedzi sihayi, ale ze szczegółami, jak to zrobić za pomocą narzędzi w sieci i wizualnym przykładem, który nie zniknie.

Podejście diagramu sekwencji UML polega na użyciu fragmentu " par " do modelowania wielu wiadomości przetwarzanych równolegle. Poniżej znajduje się opis tekstowy, który po wprowadzeniu do narzędzia PlantUML dostępnego w sieci stworzy poniższy schemat.

@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

przykład par UML

 3
Author: Reginald Blue,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-12-13 15:52:02

Mogą Cię zainteresować wykresy sekwencji Wiadomości, lub MSC.

TUTAJ jest slajd opisujący MSC w skrócie.

 1
Author: mouviciel,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-10-29 14:10:16