1、异步请求简介
经过springmvc的封装,使得使用servlet3+提供的异步请求变得十分方便,异步请求的好处就是对于处理时长较长的请求,可以提前立即释放当前容器的request请求处理线程,此时response并且不反回,去继续处理其他request请求,等用户自己的异步线程执行完毕,会调用AsyncContext.dispatch(),重新获取一个容器的线程继续处理并返回。controlller 方法可以通过返回DeferResult、Callable、WebAsyncTask实现异步request。
2、详细过程 以返回DeferResult为例
可以看到每次同步的请求只会有一个线程来处理,而异步线程则需要三个线程来处理,可以说是 用空间开多个线程来处理 来换取 其他request请求等待的时间问题了。