【发布时间】:2011-04-28 10:53:51
【问题描述】:
我在 asp.net 应用程序 (System.Threading.Thread) 中创建了一些托管线程。每个线程在数据库中创建一行并在工作完成后将其删除(约 3-5 分钟)。
当我在 Windows 的 task manager 中查看 w3wp 的线程数时,线程数低于我的预期。例如,如果我根据数据库有 100 个正在运行的作业,w3wp 中有 50 个线程。波动很大,有时是一对一的。
thread count 中的 task manager 是否计算托管线程?如果是,那我的线程在哪里?
【问题讨论】:
-
您是如何创建托管线程的?
-
@Hero:
System.Threading.Thread thread = new System.Threading.Thread() -
拥有托管线程的数量作为衡量标准并不是很有意义;大多数这些线程在睡眠时的开销几乎为零。你为什么想知道?
-
@Hero:我知道计数,如果其中任何一个未能从数据库中删除相应的数据行(一种健康监控),我可以追踪它们
标签: c# multithreading count w3wp