我使用Spring-boot进行嵌入式tomcat(8)的MVC项目。
我知道以下问题:当请求到来时,我们从tomcat连接池给出一个线程来继续这个请求,例如我们调用一些阻塞API,所以我们的线程除了等待然后返回客户端的响应之外什么都不做。现在我们有Callable and DifferedResult
个类,它们使用来自executorservice的线程,我们将提供Bean
(否则它会为每个请求创建新线程)
例如Tomcat的连接池是100个线程,异步调用的连接池也是100,当请求到来时它从Tomcat获取线程,然后tomcat将从执行器服务获取一个工作线程的请求并将返回到Tomcat线程池。但我不明白,为什么我们需要另一个线程池,为什么我们不能只增加Tomcat线程的数量来获得与使用工作池相同的结果?