賬戶創(chuàng)建請求失敗 http請求是不是一個(gè)請求做為一個(gè)線程?
http請求是不是一個(gè)請求做為一個(gè)線程?現(xiàn)在大多數(shù)web容器都是通過阻塞來設(shè)計(jì)的,也就是說,每一個(gè)請求進(jìn)來,都會(huì)打開一個(gè)線程來處理它,而不僅僅是針對Java、PHP和其他語言的web程序。但是也有完全
http請求是不是一個(gè)請求做為一個(gè)線程?
現(xiàn)在大多數(shù)web容器都是通過阻塞來設(shè)計(jì)的,也就是說,每一個(gè)請求進(jìn)來,都會(huì)打開一個(gè)線程來處理它,而不僅僅是針對Java、PHP和其他語言的web程序。但是也有完全非阻塞的web技術(shù),比如nodejs。
Servlet會(huì)為每個(gè)HTTP請求創(chuàng)建一個(gè)線程嗎?
毫無疑問,servlet是單線程多線程的。
每個(gè)servlet將根據(jù)請求創(chuàng)建一個(gè)新線程。也就是說,如果您收到對servlet的請求,servlet將運(yùn)行一個(gè)樹
~]。
線程處理HTTP請求由Java Web服務(wù)器管理。像tomcat、jetty等,通常的方法是維護(hù)線程池。所有請求都由線程池中的線程執(zhí)行。如果請求超出處理能力,它將等待甚至崩潰。因此,根據(jù)業(yè)務(wù)量合理設(shè)置線程池大小是非常重要的。
以Tomcat為例,下面的源代碼是Tomcat處理HTTP請求初始化的代碼。從源代碼可以看出,Tomcat將初始化ThreadPoolExecutor實(shí)例,參數(shù)可以在Tomcat配置文件中配置。
希望能夠回答題目的問題。