Как представить поток, ожидающий сигнала на диаграмме последовательности?

GrahamS спросил: 11 июня 2018 в 10:58 в: uml

Общей многопоточной реализацией является наличие некоторого класса, в котором Method_A() работает в потоке и блокируется, ожидая некоторую переменную участника / события (например, WaitForSingleObject).

Взаимодействующие классы, запущенные в разных потоках, затем вызывают Method_B(), который выполняет некоторую работу, устанавливает переменную signal / event, возможно, выполняет некоторую работу, а затем возвращает.

Как я представляю это взаимодействие на диаграмме последовательности?

Должен ли я иметь два цикла жизни, по одному для каждого потока, хотя они работают в одном экземпляре класса? Мой инструмент моделирования (Enterprise Architect 12) не позволяет одному и тому же классу дважды появляться на диаграмме последовательности, поэтому, похоже, это препятствует.


Изменить: Герт отметил, что диаграмма последовательности должна использовать , не классы, , который является справедливым комментарием. Однако проблема одна и та же: многократные жизненные линии будут подразумевать несколько экземпляров, но в вопросе Method_A() и Method_B() работают на экземпляре тот же , только из разных потоки. Как это можно представить?


0 ответов