并发实例,10000个http请求同时访问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的处理多个请求,是先进先出,谁先来,先接待谁。
---网上的解释: