c#中线程的存活时间
本文关键字:时间 线程 | 更新日期: 2023-09-27 18:07:10
是否有任何方法可以验证Thread
存活多长时间?
我想知道我的System.Threading.Thread.CurrentThread
在ASP中的存活时间。网络页面。
在IIS工作线程被回收或服务器被重新启动/关闭之前,线程将一直处于活动状态。这个线程将被重用来处理更多的请求,所以线程的生命周期不能用来确定处理一个请求需要多长时间(我怀疑你真的想知道)。
此外,一个请求可以由不同的线程处理。在页生命周期的某些时刻,执行可以由另一个线程接管。
所以,线程存活了多长时间与ASP无关。网络页面。
当然没有直接的方法可以做到…
但是你可以这样做:
- 用
Process.GetCurrentProcess().Threads
获取当前 - 调用
GetCurrentThreadId
(pinvoke,因为你需要本地线程ID!) - 遍历这个集合并通过ID 找到当前线程
- 访问找到的
ProcessThread.StartTime
以获得当前线程的开始时间
Process
的ProcessThreadCollection
这给你DateTime
…你可以用DateTime.Now
减去它得到TimeSpan
…在那里你可以访问Ticks
等