c++ - 如何在 UML 中对两个 C++ 类(在不同线程中)之间的消息接口(interface)进行建模?

标签 c++ uml class-diagram

我拥有的是:

  • 两个不同的类位于不同的线程中(例如 classA 和 classB)。

  • 他们对彼此一无所知(没有包含/转发声明)。

  • 当 classA 完成某些操作时,它会发布一条消息(路由在其他地方处理),而 classB 会接收该消息。

确实如此。在我的类图中,我想显示 classA 和 classB 在它们之间传递消息(即可以通信)并且它们位于不同的线程中。

这在 UML 类图中可能吗? - 是否有“沟通”关系语法? 如果 UML 不这样做,那么我将编写自己的方法来展示这一点,但如果有标准,我也可以使用它!

最佳答案

要描述线程,您可以使用事件图、序列交互图和/或状态图

  • 事件图 - 允许 fork 和指定 通过使用 BAR 和使用行来实现并发/同步。

  • 序列交互图 - 允许您指定并行 通过将可并行行为与 标签“标准”

  • 状态图 - 状态图就像事件允许的那样 通过使用 BAR 和使用行来实现并发。

该图说明了 UML 事件图中的消费者/生产者模式:

enter image description here

Modeling_Java_Threads_in_UML

关于c++ - 如何在 UML 中对两个 C++ 类(在不同线程中)之间的消息接口(interface)进行建模?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22681994/

相关文章:

android - 如何在 Android Studio 上生成类图 (UML) (IntelliJ Idea)

java - UML 图中的私有(private)嵌套 Java 类

c++ - C++类图和{query}

c++ - 为什么从 int 到 char 的 memcpy 不起作用?

java - 使用类图在java中实现聚合和组合

java - 这是聚合还是组合关联?

python - 如何在 Windows 上使用 pyreverse

c++ - 数据正确放入数组但打印数组时不存在

C++ 使用 std::chrono 测量不正确的 FPS 和 deltaTime

c++ - 使用 ranges-v3 实现 DFS