ASP.NET中的Thread.Start不会触及请求线程池 - 我是对的吗?

时间:2017-04-23 12:59:05

标签: asp.net multithreading iis threadpool

我一直在阅读很多关于IIS如何管理http请求的线程(一旦需要就将它们从池中取出并在处理完请求后“释放”)...

关于异步请求的整个概念,例如ASP.NET MVC,用于在侧面执行长等待I / O操作时将线程“释放”回池。

但是我无法理解的是 - 如果我使用Thread.Start()启动“正常”线程 - 这些线程是“未解散的”,对吧?并且它们不会耗尽IIS请求线程池 - 这是正确的吗?

我尝试使用谷歌搜索,但找不到确切的答案。我知道Thread.Start根本不使用.NET的内置ThreadPool - 但我怀疑IIS使用与其请求线程相同的机制,可能是IIS“请求池”是与.NET的ThreadPool不同,并使用一些较低级别的池,以便我的Thread.Start也会在那里结束?

我想我要问的是 - ASP.NET应用程序中Thread.Start()是否存在限制,并且由于线程排队,很多Thread.Start会在高负载期间阻止我的Web应用程序?

更新:找到了这个答案,但它没有解释为什么以及会发生什么:Why ASP.NET kills my background thread?

0 个答案:

没有答案