偵測執行緒死結和競用

執行緒視圖會顯示程式每個執行緒的活動記錄,且會識別執行緒的競用和死結。

當執行緒在等待未備妥的資源時,就會出現競用;這會使程式碼的執行變慢,但這個情況可以隨著時間而消除。 當有兩個或更多執行緒在等待其他執行緒已鎖定的資源時,就會出現死結;死結絕不會自行解決。

如果要偵測執行緒瓶頸,請先利用「執行緒事件分析」側寫集來收集側寫資料,再開啟執行緒視圖。 如果要做到這一點,請執行下列動作:

  1. 開啟「側寫和記載」視景:選取視窗 > 開啟視景 > 其他...,之後,在選取視景對話框中,選取側寫和記載
  2. 開啟「側寫」對話框,選取執行 > 側寫...
  3. 建立用來側寫應用程式的側寫集,請按兩下說明側寫方式的項目來建立 New_configuration 項目。
  4. 在「側寫」對話框的「側寫」標籤中,選取或新增一個側寫集,按一下編輯
  5. 在「編輯側寫集」對話框中,展開執行緒資訊項目,然後再勾選執行緒事件資訊的勾選框來將它併入側寫集中。
  6. 按一下執行來啟動您的應用程式。
  7. 操作應用程式發生執行緒瓶頸的部分。現在,您可以終止您的應用程式。
  8. 選取視窗 > 顯示視圖 > 其他...,再選取執行緒視圖來顯示執行緒視圖。
  9. 在執行緒視圖中,尋找在執行緒之間的垂直箭頭。 單一箭頭表示資源競用。 兩個執行緒之間的一對箭頭表示死結。

以下是競用範例:

含有表示競用的垂直箭頭之「執行緒視圖」視窗

以下是死結範例:

含有表示死結的一對垂直箭頭之「執行緒視圖」視窗

執行緒視圖所顯示的資料是以側寫追蹤為基礎。 如果需要詳細資訊,請參閱 Hyades 側寫工具文件。

執行緒、執行緒群組和執行緒事件都儲存在 Hyades 模型中。 如果需要詳細資訊,請參閱 Hyades 側寫工具文件。

請利用執行緒視圖控制項來執行下列動作:

上層主題: 偵測執行緒瓶頸

Terms of use | Feedback
(C) Copyright IBM Corporation 2004. All Rights Reserved.