HOW TO:檢查處理序的執行緒使用情形
更新:2007 年 11 月
您可以讀取 Process 元件的 Threads 屬性 (Property) 值,來檢視處理序執行緒。傳回值是 ProcessThreadCollection 型別的集合,其包含 ProcessThread 物件的集合,表示目前在處理序中執行的作業系統執行緒。然後,您可以逐一查看集合以檢視個別的執行緒屬性。主執行緒不一定是位於集合的索引 0。
若要調查處理序的執行緒使用方式
如果處理序不是由 Process 元件所啟動,請將 Process 元件與所需的處理序產生關聯。如需詳細資訊,請參閱 HOW TO:繫結至現有的處理序。
將處理序的 Threads 屬性值指派給 ProcessThread 型別的空集合變數。
逐一查看陣列索引,以檢視單一執行緒的屬性。
以下範例將說明如何讀取記事本的 Threads 屬性,並將值指派給空陣列。然後會讀取 ProcessThread 陣列中第一個執行緒的 BasePriority 值,並顯示在名稱為 TextBox1 的文字方塊中。
Dim myCollection As ProcessThreadCollection Dim myProcesses() As Process ' Create an instance of the Process Component and associate ' it to the target process. myProcesses = Process.GetProcessesByName("Notepad.exe") ' Read the Process.Threads property and assign it to the empty array. myCollection = myProcesses(0).Threads ' Read desired ProcessThread property. Me.Textbox1.Text = myCollection(0).BasePriority.ToString()
ProcessThreadCollection threads; Process[] notepads; // Retrieve the Notepad processes. notepads = Process.GetProcessesByName("Notepad"); // Read the Process.Threads property. threads = notepads[0].Threads; // Read desired ProcessThread property. TextBox1.Text = threads[0].BasePriority.ToString();