为什么Spring MVC的异步模式比同步高效?

既然异步的目的是提升吞吐,假设一台机器的线程数最多1000个,那么异步模式(DefferedResult)你500个(tomcat线程)用来处理请求,500个(spring中taskexecutor)用来处理回调,与同步模式1000个都用来处理请求有啥区别?

阅读 3.3k
1 个回答

我理解 springmvc (异步servlet) 解决的 问题是 大量耗时操作占满线程资源导致服务器拒绝连接 ,他并不是更高效,因为你该处理的操作还是要处理 ,且他的IO还是同步的,并不能像 reactor+IO多路复用 那样 节约用于IO的线程资源耗费 ,
所以他能做到的就是 在处理长时间的操作的时候,不会因为占满线程而拒绝服务,因为 总有500个线程来接受请求

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题