请问servlet端异步处理有什么好处?

发布于 2021-11-25 15:14:05 字数 230 浏览 815 评论 2

服务端的同步模式:客户端请求 -> servlet容器创建线程 -> 线程中IO(可能是长时间的) -> 响应客户端

服务端异步模式:客户端请求 -> servlet容器创建线程A -> 将长IO操作封装到新线程B中 -> A线程释放(客户端继续挂起) -> B线程完成IO -> 响应客户端

以上理解是否正确??

异步模式有啥好处?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

白龙吟 2021-11-27 18:05:03

多谢楼上的耐心回答,后来我跟同事讨论,结论和楼上相同。

坚持沉默 2021-11-27 12:39:55

线程IO是长时间操作时,举例子来说,一个请求要进行数据插入操作,数据量很大,这个时候会有一个问题

一个请求,服务器启动一个servlet线程处理,直到处理完毕,服务器回收此servlet线程,要知道,servlet线程是有限的,也就是说,这个请求会一直占用着该servlet线程。遇到高并发的时候,那么服务器的处理就会遇到瓶颈;
如果异步servlet进行处理的话,一个请求过来,服务器启动一个servlet线程处理,在servlet线程启动一个工作线程,然后servlet线程马上返回,继续处理其它请求。而工作线程处理完毕后,会返回给请求...

个人觉得,优点在于,当处理高并发,大数据量操作时候,异步处理,可以让服务器快速的接收请求,相对于同步而言,降低servlet线程阻塞的可能

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文