猿问

如下情况,请问tomcat是异步还是同步处理请求的?

debug的时候,只有一个请求完了,才能处理第二个请求,怎么回事?
比如在登录处理方法上打2个断点,断点1在前,断点2在后,让第一个请求跑到断点2,再发起第二个请求,发现第二个请求没进入该方法。

猛跑小猪
浏览 157回答 3
3回答

慕桂英4014372

不可能是同步的。大家最好明确下同步异步的含义,避免误会。

绝地无双

楼上回答并不正确。你看到的第一个还没处理完,第二个已经开始执行,是由于tomcat的connector有多个线程来处理不同的请求。所以,第一个在处理的时候,第二个发请求是用另一个线程在处理。另外,即使你使用AJAX发的请求到tomcat,也是需要线程来处理的。以debug启动tomcat,在eclipse的debug视图可以看到启动了多个线程等待请求。当有请求到来的时候,就使用其中一个,其它的继续等。所以,楼主的问题,应该是同步的。

慕勒3428872

囧,当然是异步处理了,debug的时候第一个断点处没有执行完,第二个其实已经开始执行了,只不过eclipse的界面没办法给你同时出现两个调试界面, 你可以在断点前面加输出一些字符串查看下
随时随地看视频慕课网APP

相关分类

Java
我要回答