如何:调查进程的线程使用情况

更新:2007 年 11 月

可以通过读取 Process 组件的 Threads 属性值来查看进程的线程。返回值的类型为 ProcessThreadCollection,其中包含代表进程中当前运行的操作系统线程的 ProcessThread 对象的集合。然后,可以循环访问该集合以查看各个线程属性。主线程不一定是集合中位于索引 0 处的线程。

调查进程的线程使用

  1. 如果进程不是用 Process 组件启动的,则将 Process 组件关联到所需的进程。有关更多信息,请参见如何:绑定到现有进程

  2. 将进程的 Threads 属性值分配给 ProcessThread 类型的空集合变量。

  3. 循环访问数组索引以查看单个线程的属性。

    下面的示例演示如何读取记事本的 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();
    

请参见

任务

如何:绑定到现有进程

如何:创建进程组件

概念

关于监视和管理 Windows 进程的介绍

其他资源

检索关于进程的信息

管理进程