开发者社区> 问答> 正文

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

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

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

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

以上理解是否正确??

异步模式有啥好处?

展开
收起
爱吃鱼的程序员 2020-06-04 14:19:25 440 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

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

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

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

    ######

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

    2020-06-04 16:26:15
    赞同 展开评论 打赏
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
fibjs 模块重构从回调到协程--陈垒 立即下载
fibjs 模块重构从回调到协程 立即下载
低代码开发师(初级)实战教程 立即下载