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

IIS与ASP.NET中的线程池

1. W3 Thread Pool(W3TP)

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

W3TP

2. .NET线程池

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

【参考资料】

Dissection of an ASP.NET 2.0 request processing flow