gpt4 book ai didi

java - Servlet请求的异步响应查询

转载 作者:行者123 更新时间:2023-12-02 04:35:51 25 4
gpt4 key购买 nike

在 Servlet 请求/响应的上下文中,我在某处读到:

Using a different thread to do work required by a request will, as you expect, allow the response to be sent immediately.

我只是想知道 Servlet 线程何时将实际处理移交给另一个线程,这意味着无论如何它在该时间点都没有预期的响应,那么发送立即但的值是什么?对浏览器的无意义响应?

有人可以给我一个有值(value)的用例吗?

最佳答案

该引述讨论的是一种场景,您可以返回有意义的响应,而无需实际完成请求所需的所有工作。例如,您可以上传要处理的文件并立即使用处理 ID 进行响应,但将处理传递给另一个线程。稍后,客户端可以使用该 ID 发出另一个请求,以查明处理是否完成。

异步 ​​servlet 场景会将处理移交给另一个线程来完成工作,同时阻止请求。但是,被阻止的请求在处理过程中不会像正常的同步 servlet 请求那样占用 servlet 请求线程。

假设您有一个单线程处理器并且同时发出 10 个请求。对于等待处理完成的同步 servlet,您将有 10 个阻塞的请求线程 + 1 个处理器线程。但对于异步 servlet,您将拥有 0 个阻塞线程 + 1 个处理器线程。这是一个相当显着的 yield 。

关于java - Servlet请求的异步响应查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30767092/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com