2011-07-28 40 views
3

我想爲多線程應用行爲建模。有很多同步(ManualResetEvents等)。我試圖使用序列圖,但它似乎缺乏方便的同步可視化。那麼,我必須使用哪種圖表來完成這類任務?如何可視化多線程進程?

回答

5

Have a look at this article

我一直在同時使用UML活動圖和diagrams in this article

編輯

分享了一些經驗:不要指望這些圖表來解決所有的設計問題多線程。出於同樣的原因,多線程系統的單元測試很難,繪製圖也是如此。例如,看看6.45中提到的圖表.Vapuru的回答。是的,它顯示了圖層的併發執行,這將幫助您查明潛在的錯誤,但試圖顯示此圖表在嘗試顯示網站的多個併發客戶端時的外觀。它變得非常迅速。我並不是說它不能完成,但是可能的變化數量非常巨大,以至於需要付出很大的努力才能實現。

這是一個很好的例子,可以幫助您理解爲什麼多線程很難。如果你不能繪製它,你可能不會完全掌握它的複雜性,你將無法測試它,並且你總會有那種嘮叨的感覺,你忘記了一些東西。

這就是爲什麼我希望在平臺和語言上設置這些問題,以解決這些問題,但我們還沒有到位。

+0

我給我的文章添加了一些經驗。 –

0

有一個討論不同的方法來圖示代表多線程herediagram的最終形式非常適合使用ManualResetEvents可視化同步。