併發實例,10000個http請求同時訪問tomcat,tomcat是怎麼處理的?tomcat
-----個人理解:多線程
先進先出機制。併發
1tomcat在某一個時刻只能被一個http請求佔用。線程
2tomcat響應http請求是先進先出,誰先接進來,tomcat就響應誰。處理完一個再處理一個。也就是說,1000個請求進來,有一個第一個執行很快就處理完,而有一個會很不幸,第1000個處理。那就要等很久了。登錄
3tomcat有多線程機制,不多是單線程。單線程是1000個請求過來,一個一個的處理,先進先出,一個請求0.001秒,那麼1000個就是1秒;10000個就是10秒。10秒就好久了,用戶就受不了。而多線程是怎麼實現的呢?即一個http請求,發起一個線程。各http請求各幹各的,互不影響。線程池
5各http請求各幹各的,互不影響。不可能httpA在獲取當前登陸用戶時,獲取到的用戶是httpB的登陸用戶。不可能。請求
6tomcat最大線程數是200,也就是說某一時刻,tomcat線程池中的200個線程都被佔用了。第201個請求就得等待。實例
7tomcat的處理多個請求,是先進先出,誰先來,先接待誰。
---網上的解釋: