为什么Spring MVC的异步模式比同步高效?
既然异步的目的是提升吞吐,假设一台机器的线程数最多1000个,那么异步模式(DefferedResult)你500个(tomcat线程)用来处理请求,500个(spring中taskexecutor)用来处理回调,与同步模式1000个都用来处理请求有啥区别?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我理解 springmvc (异步servlet) 解决的 问题是 大量耗时操作占满线程资源导致服务器拒绝连接 ,他并不是更高效,因为你该处理的操作还是要处理 ,且他的IO还是同步的,并不能像 reactor+IO多路复用 那样 节约用于IO的线程资源耗费 ,
所以他能做到的就是 在处理长时间的操作的时候,不会因为占满线程而拒绝服务,因为 总有500个线程来接受请求