2010-02-15 102 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個,直到所有的新用戶都等待使用。