время обработки в потоке? - PullRequest
2 голосов
/ 02 июля 2010

Я хочу рассчитать время процесса на поток.как мне это сделать.?предположим, что мои 100 потоков одновременно выполняют один и тот же метод work (), а если я добавлю следующий код, помогите мне получить то, что я ищу

Process thisProc = Process.GetCurrentProcess();
string procName = thisProc.ProcessName;
DateTime started = thisProc.StartTime;

int memory = thisProc.VirtualMemorySize;
int priMemory = thisProc.PrivateMemorySize;
int physMemory = thisProc.WorkingSet;

ProcessPriorityClass priClass = thisProc.PriorityClass;
TimeSpan cpuTime = thisProc.TotalProcessorTime;

Console.WriteLine(" started: {0}", started.ToString());
Console.WriteLine(" CPU time: {0}", cpuTime.ToString());

Console.WriteLine(" Virtual Memory: {0}", memory + " ; Private Memory: " + priMemory + " ; Physical Memory: " + physMemory);

1 Ответ

3 голосов
/ 02 июля 2010

GetThreadTimes () предоставляет эту информацию.Однако его очень сложно использовать, поскольку он требует дескриптора потока, чего не позволяет вам .NET Framework.Простое решение состоит в том, чтобы запустить секундомер внутри функции потока и остановить () его по завершении.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...