IIS与ASP.NET中的线程池

6/24/2014来源:ASP.NET技巧人气:2471

1. W3 Thread Pool(W3TP)

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

W3TP

2. .NET线程池

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

【参考资料】

Dissection of an ASP.NET 2.0 request processing flow