2010-02-15 97 views
1

如果我有一个站点,并且每个请求都有自己的线程,这是否意味着1000个访问者将会产生1000个线程?这是如何工作的(显然这不对)?线程和请求混淆

谢谢

回答

4

ASP.NET中的线程通过ThreadPool处理。

请求集中在ThreadPool中,因此每个请求都可以由不同的线程处理,但线程可以重复使用,从而阻止您提及的1000个线程处理1000个请求。

欲了解更多详情,请参阅此CodeProject article on Multi-Threading in ASP.NET

0

是的,它是正确的。如果每个访问者有1个线程,1000个线程有1000个访问者。它可能表现不佳,但那是另一回事。

神父多线程服务器应用程序,你通常有3项不同的分配制度:

  • 1线程对所有游客 - 每一个需要它反过来;
  • 每个访客1个线程 - 显而易见;
  • 一个2 - 1的线程池(比如说10)的组合,每个访问者都会得到1个,直到所有的新用户都等待使用。