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