我想为多线程应用程序行为建模。有很多同步(ManualResetEvents 等)。我尝试使用序列图,但似乎缺乏方便的同步可视化。那么我必须使用哪种图表类型来处理此类任务?
问问题
2407 次
3 回答
5
我一直在使用 UML 活动图和本文中的图表
编辑
分享一点经验:不要指望这些图能解决多线程的所有设计问题。出于同样的原因,多线程系统的单元测试很困难,但绘制图表也是如此。例如,看看 6.45.Vapuru 的回答中提到的图表。是的,它显示了图层的并发执行,这将帮助您查明潜在的错误,但在尝试显示网站的多个并发客户端时尝试可视化该图表的外观。它很快变得一团糟。我并不是说它不能做到,但是可能的变化数量是如此之大,以至于需要付出很多努力才能做到正确。
这是一个很好的例子,可以帮助你理解为什么多线程很难。如果你不会画出来,你可能没有完全掌握它的复杂性,你将无法测试它,并且你总是会有那种忘记了什么的唠叨感。
这就是为什么我寄希望于平台和语言来消除这些问题,但我们还没有实现。
于 2011-07-28T13:56:39.730 回答
1
如果您想调查关键对象的状态变化,同时它们在时间约束下相互发送消息,您可以使用 UML 2 Timing Diagram
可以查看http://www.uml-diagrams.org/timing-diagrams-examples.html网站以获取简单的示例时序图 [网站延迟]
于 2011-07-28T16:34:17.777 回答