Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何获取当前线程的ProcessThread.TotalProcessorTime_C#_.net_Threadpool - Fatal编程技术网

C# 如何获取当前线程的ProcessThread.TotalProcessorTime

C# 如何获取当前线程的ProcessThread.TotalProcessorTime,c#,.net,threadpool,C#,.net,Threadpool,好的,我正在使用线程池来启动线程。在threaad代码中,我试图找出它实际使用了多少cpu时间。我读到有一个ProcessThread。此的TotalProcessorTime属性(http://msdn.microsoft.com/en-us/library/system.diagnostics.processthread.totalprocessortime.aspx)但我就是看不懂。那么如何为当前线程获取它呢?一些要点: 1) 通过ProcessThread获取正确的进程线程。TotalP

好的,我正在使用线程池来启动线程。在threaad代码中,我试图找出它实际使用了多少cpu时间。我读到有一个ProcessThread。此的TotalProcessorTime属性(http://msdn.microsoft.com/en-us/library/system.diagnostics.processthread.totalprocessortime.aspx)但我就是看不懂。那么如何为当前线程获取它呢?

一些要点:

1) 通过ProcessThread获取正确的进程线程。TotalProcessorTime您需要输入本机线程ID

2) 听起来很像是将托管线程ID(via thread.CurrentThread.Name)与本机线程ID进行比较,以通过System.Diagnostics命名空间获取当前线程。记住托管线程ID!=ProcessThreadID。您需要使用GetCurrentThreadId函数

3) 线程池线程可以循环使用,因此线程池的TotalProcessorTime可能比预期的要大

4) 如果您分析线程使用情况,那么使用Visual Studio Ultimate中的线程分析器或其他优秀的分析器(即ANTS、DotTrace、SciTech)可能会更容易。

您所说的“我就是看不懂它”是什么意思?