我想模拟多线程应用程序的行为。其中有许多同步(ManualResetEvents 等)。我试过使用顺序图,但似乎缺少方便的同步可视化工具。那么,在这种情况下,我该使用哪种图表类型呢?
我想模拟多线程应用程序的行为。其中有许多同步(ManualResetEvents 等)。我试过使用顺序图,但似乎缺少方便的同步可视化工具。那么,在这种情况下,我该使用哪种图表类型呢?
我一直在使用UML活动图和本文中的图表
编辑
分享一些经验:不要期望这些图表可以解决所有多线程设计问题。由于多线程系统的单元测试很难,绘制图表也很困难。例如,看看6.45.Vapuru回答中提到的图表。是的,它显示了层的并发执行,这将帮助您确定潜在的错误,但是尝试想象一下当尝试显示网站的多个并发客户端时,这个图表会是什么样子。它很快就会变得混乱。我并不是说这是不可能完成的,但是可能性的数量非常巨大,需要付出大量的努力才能做到正确。
这是一个很好的例子,帮助你理解为什么多线程很难。如果你不能画出它,那么你可能没有完全掌握它的复杂性,你将无法测试它,并且你会一直有那种遗漏了某些东西的感觉。