Java 异步服务器如何通过释放初始I/O线程来提高吞吐量?

Java 异步服务器如何通过释放初始I/O线程来提高吞吐量?,java,asynchronous,jersey,Java,Asynchronous,Jersey,在jersey文档中,我无法理解释放线程是如何提高吞吐量的 但是,它将通过释放 初始请求处理线程返回到I/O容器,而 请求可能仍在队列中等待处理或 处理可能仍在另一个专用线程上运行。这个 发布的I/O容器线程可用于接受和处理新的 传入请求连接 也许在回答这个问题之前,还需要回答其他一些基本问题 什么是I/O容器,它是web容器吗? “当请求可能仍在队列中等待时”什么队列?如果收到请求,这不意味着它已经被处理了吗 Jersey不一定需要servlet容器,它也可以使用。我相信这就是为什么他们选择在

在jersey文档中,我无法理解释放线程是如何提高吞吐量的

但是,它将通过释放 初始请求处理线程返回到I/O容器,而 请求可能仍在队列中等待处理或 处理可能仍在另一个专用线程上运行。这个 发布的I/O容器线程可用于接受和处理新的 传入请求连接

也许在回答这个问题之前,还需要回答其他一些基本问题

什么是I/O容器,它是web容器吗?
“当请求可能仍在队列中等待时”什么队列?如果收到请求,这不意味着它已经被处理了吗

Jersey不一定需要servlet容器,它也可以使用。我相信这就是为什么他们选择在文档中引用IO容器而不是web或servlet容器的原因

异步请求是并行处理的,但服务器没有无限数量的线程或其他资源来处理,因此在资源可用之前,将一些请求留在队列中

吞吐量增加了,因为jersey服务器不需要等待长时间运行的操作完成,并且可以立即将控制返回到IO容器,从而允许容器的请求处理线程为其他请求提供服务。有关详细信息,请参见关于线程、请求和异步处理的nice