簡體   English   中英

如何可視化多線程進程?

[英]How to visualize multithreading processes?

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

看看這篇文章

我一直在使用UML活動圖和本文中圖表

編輯

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

這是一個很好的例子,可以幫助您理解為什么多線程很難。 如果你不能畫它,你可能完全沒有把握它的復雜性,你將無法測試它,你總會有那種嘮叨的感覺,你忘了一些東西。

這就是為什么我對平台和語言寄予厚望以解決這些問題,但我們還沒有。

如果要在關鍵對象與時序約束相互消息傳遞時調查關鍵對象的狀態更改,可以使用UML 2 時序圖

可以查看http://www.uml-diagrams.org/timing-diagrams-examples.html網站以獲取簡單的示例時序圖[網站延遲]

還有就是圖解代表多線程的不同方法的討論在這里 最終的圖表形式非常適合使用ManualResetEvents可視化同步。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM