如何可视化多线程进程?

5

我想模拟多线程应用程序的行为。其中有许多同步(ManualResetEvents 等)。我试过使用顺序图,但似乎缺少方便的同步可视化工具。那么,在这种情况下,我该使用哪种图表类型呢?

3个回答

5

请查看这篇文章

我一直在使用UML活动图和本文中的图表

编辑

分享一些经验:不要期望这些图表可以解决所有多线程设计问题。由于多线程系统的单元测试很难,绘制图表也很困难。例如,看看6.45.Vapuru回答中提到的图表。是的,它显示了层的并发执行,这将帮助您确定潜在的错误,但是尝试想象一下当尝试显示网站的多个并发客户端时,这个图表会是什么样子。它很快就会变得混乱。我并不是说这是不可能完成的,但是可能性的数量非常巨大,需要付出大量的努力才能做到正确。

这是一个很好的例子,帮助你理解为什么多线程很难。如果你不能画出它,那么你可能没有完全掌握它的复杂性,你将无法测试它,并且你会一直有那种遗漏了某些东西的感觉。
这就是为什么我对平台和语言能够解决这些问题抱有希望,但我们还没有到达那个阶段。

我在我的帖子中添加了一些经验。 - Emond

1

0

这里讨论了不同的方法来图解多线程(此处)图表的最终形式非常适合使用ManualResetEvents来可视化同步。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接