我想对多线程应用程序行为进行建模。有很多同步(ManualResetEvents 等)。我尝试使用序列图,但它似乎缺乏方便的同步可视化。那么我必须使用什么样的图表来处理此类任务?
最佳答案
Have a look at this article
我一直在使用 UML 事件图和 diagrams in this article
编辑
分享一点经验:不要指望这些图可以解决多线程的所有设计问题。出于同样的原因,多线程系统的单元测试很难,绘制图表也是如此。例如,看看 6.45.Vapuru 的回答中提到的图表。是的,它显示了各层的并发执行,这将帮助您查明潜在的错误,但尝试可视化该图在尝试显示网站的多个并发客户端时的样子。它很快就会变得一团糟。我并不是说它不能完成,但是可能的变化数量如此之大,需要付出很多努力才能做到正确。
这是一个很好的例子,可以帮助您理解为什么多线程很难。如果你不会画它,你可能没有完全理解它的复杂性,你将无法测试它,你总会有那种忘记一些东西的唠叨感。
这就是为什么我寄希望于平台和语言来解决这些问题,但我们还没有做到。
关于multithreading - 如何可视化多线程进程?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6860027/