如何可视化多线程进程?

Pom*_*oma 3 architecture multithreading uml sequence-diagram

我想模拟多线程应用程序行为.有很多同步(ManualResetEvents等).我试图使用序列图,但它似乎缺乏方便的同步可视化.那么我必须使用哪种图表来完成这类任务呢?

Ern*_*rno 5

看看这篇文章

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

编辑

分享一些经验:不要指望这些图解决多线程的所有设计问题.出于同样的原因,多线程系统的单元测试很难,但绘制图表也是如此.例如,看看6.45.Vapuru的答案中提到的图表.是的,它显示了层的并发执行,这将帮助您查明潜在的错误,但尝试可视化此图在尝试显示网站的多个并发客户端时的外观.它很快变得一团糟.我并不是说它无法完成,但是可能的变化数量如此巨大,以至于需要付出很多努力来实现它.

这是一个很好的例子,可以帮助您理解为什么多线程很难.如果你不能画它,你可能完全没有把握它的复杂性,你将无法测试它,你总会有那种唠叨的感觉,你忘了一些东西.

这就是为什么我对平台和语言寄予厚望以解决这些问题,但我们还没有.