c# 获取进程中每一个线程使用率
时间: 2024-02-23 17:59:59 浏览: 98
您可以使用C#中的System.Diagnostics.Process和System.Diagnostics.ProcessThread类来获取进程中每个线程的CPU使用率。以下是一个示例:
```csharp
using System;
using System.Diagnostics;
using System.Threading;
class Program
{
static void Main(string[] args)
{
Process process = Process.GetCurrentProcess();
Console.WriteLine("Process ID: " + process.Id);
Console.WriteLine("Process Name: " + process.ProcessName);
foreach (ProcessThread thread in process.Threads)
{
Console.WriteLine("Thread ID: " + thread.Id);
// 创建一个新的PerformanceCounter对象来获取每个线程的CPU使用率
PerformanceCounter pc = new PerformanceCounter("Process", "% Processor Time", process.ProcessName, true);
pc.InstanceName = thread.Id.ToString();
while (true)
{
Console.WriteLine("Thread CPU Usage: " + pc.NextValue() + "%");
Thread.Sleep(1000); // 每秒更新一次
}
}
}
}
```
此示例使用Process类获取当前进程的所有线程,并使用PerformanceCounter类获取每个线程的CPU使用率。在循环中,每秒打印一次CPU使用率。您可以根据需要更改计数器名称和实例名称以获取其他计数器的值。
阅读全文