我正在为 ASP.NET 创建一个异步处理程序,它将执行一个缓慢的存储过程。我想我明白,要在慢速和快速页面的混合负载上获得额外的吞吐量,慢速页面需要在与 ASP.NET 使用的线程池分开的线程池上执行,否则异步模式将导致双倍的数量要使用的稀有线程(如果我错了,请纠正我)。
所以我发现System.Threading.ThreadPool
- 看起来它应该可以解决问题,但是......
网络上的各种教程,例如使用此自定义池的教程,John Skeet 的 MiscUtils中的教程,以及本教程中引用的有关异步模式的自定义线程池。
System.Threading.ThreadPool
自 1.1 以来就存在 - 为什么人们经常觉得有必要编写一个全新的?我应该避免使用System.Threading.ThreadPool
吗?
在线程方面,我是一名初级初学者,所以请轻松使用未定义的行话。
更新。要执行的存储过程不一定是 MS-SQL,也不一定能够使用内置的异步方法,例如BeginExecuteNonQuery()
.