Ehs*_*san 7 .net c# multithreading
我有一个带有(4)线程的多线程应用程序我想知道在线程中花费了多少处理时间.我用ThreadPool创建了所有这些线程
线程1做JOB1
线程2做作业2
..
..
结果将是:
Thread1
在12毫秒
内运行Thread2在20毫秒内运行
我实际上是在一个作业中下载一个网页,每个作业都在一个线程中处理我想知道网页下载需要多少时间(没有计算时间内其他线程上下文切换的影响)
如果你想获得秒表的总时间,那就是秒表类:
Stopwatch sw = Stopwatch.StartNew();
// execute code
sw.Stop();
// read and report on sw.ElapsedMilliseconds
Run Code Online (Sandbox Code Playgroud)
如果要查找线程实际执行代码的时间(而不是等待I/O等),可以通过枚举应用程序的Process对象的线程来检查ProcessThread.TotalProcessorTime属性.
请注意,线程池中的线程在使用后不会被销毁,而是留在池中以供重用,这意味着线程的总时间包括它在当前工作负载之前完成的所有操作.