我的 W3WP 托管线程在哪里

发布于 2024-11-03 13:03:08 字数 324 浏览 4 评论 0原文

我在 ASP.NET 应用程序中创建了一些托管线程 (System.Threading.Thread)。每个线程在数据库中创建一行,并在工作完成后将其删除(大约 3-5 分钟)。

当我在Windows的任务管理器中查看w3wp的线程数时,线程数比我预期的要少。例如,如果根据数据库我有 100 个正在运行的作业,则 w3wp 中有 50 个线程。它波动很大,有时是一对一的。

任务管理器中的线程计数是否计算托管线程?如果是,那么我的线程在哪里?

I create some managed threads inside an asp.net application (System.Threading.Thread). Each thread creates a row in a database and deletes it after the work is done (~3-5 minutes).

When I look thread count of w3wp in task manager of windows, the thread count is less than what I expect. For example if I have 100 running jobs according to database, there are 50 threads in w3wp. It is very fluctuating and sometimes it's one to one.

Does thread count in task manager count managed threads? If yes, then where are my threads ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

昵称有卵用 2024-11-10 13:03:08

操作系统[线程]与托管线程没有固定的关系,因为非托管主机可以控制托管线程和非托管线程之间的关系。具体来说,复杂的主机可以使用 Fiber API 针对同一操作系统线程调度许多托管线程,或者在不同操作系统线程之间移动托管线程。

An operating-system [thread] has no fixed relationship to a managed thread, because an unmanaged host can control the relationship between managed and unmanaged threads. Specifically, a sophisticated host can use the Fiber API to schedule many managed threads against the same operating system thread, or to move a managed thread among different operating system threads.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文