首页 > 代码库 > IIS线程池与ASP.NET线程池

IIS线程池与ASP.NET线程池

 

 

 

 

 

 

技术分享

1. IIS线程池 W3 Thread Pool(W3TP)

当处于内核模式的http.sys接收到来自用户的请求之后,会将请求放入队列中。那处于用户模式的w3wp进程如何从内核模式的队列中取出请求呢?I/O完成端口(IOCP,I/O Completion Port)闪亮登场。w3wp中有专门干这个的程序w3tp+w3dt(dt可能指数据传送data transfer),可以通过process explorer捕捉到它的身影。

技术分享

2. .NET线程池

当请求被w3tp通过w3dt从http.sys的队列中取出来后,接下来的工作就会转交给ASP.NET,这时另一个线程池粉墨登场——.NET Thread Pool。

【参考资料】

Dissection of an ASP.NET 2.0 request processing flow

IIS线程池与ASP.NET线程池