标签: java asynchronous jersey
在11.1. Asynchronous Server API的球衣文档中,我无法理解释放线程如何提高吞吐量
然而,通过发布,它将增加服务器的吞吐量 初始请求处理线程返回I / O容器时 请求可能仍在队列中等待处理或 处理可能仍在另一个专用线程上运行。该 发布的I / O容器线程可用于接受和处理新的 传入请求连接。
也许在回答问题之前,需要回答其他基本问题
什么是I / O容器,是Web容器吗? "虽然请求可能仍在队列中等待"什么队列?如果收到请求并不意味着它已被处理?
答案 0 :(得分:1)
Jersey不一定需要servlet容器,它也适用于grizzly。我相信这就是为什么他们选择在文档中引用IO容器而不是web或servlet容器。
异步请求是并行处理的,但是服务器没有无限数量的线程或其他资源来执行此操作,因此在资源可用之前将一些请求留在队列中。
吞吐量增加,因为泽西服务器不需要等到长时间运行操作完成,并且可以立即将控制返回到IO容器,允许容器的请求处理线程用于服务其他请求。有关详细信息,请参阅有关线程和请求以及异步处理的好article。