繁体   English   中英

如何限制 java.net.http.HttpClient 的连接

[英]How to limit connections for java.net.http.HttpClient

如何限制java.net.http.HttpClient的连接数/请求数?

我看到我可以将 Executor 设置为 HttpClient 但我不知道:如果我限制 Executor 池中的线程数,它是否也限制了连接数?

另一种限制连接数的方法?

要限制通过 HttpClient 发出的并发请求数,您必须在应用程序级别这样做。 HttpClient 是纯异步的,因此限制 HttpClient 执行程序中的线程数将不起作用。 同样,限制 keep-alive 池中的连接数也不起作用,因为该池仅包含空闲连接。

通过保护使用简单信号量发送请求的代码(请参阅java.util.concurrent.Semaphore ),在应用程序级别限制并发请求的数量应该非常容易。 要将并发请求数限制为例如 10 个请求,只需创建一个具有 10 个许可的信号量,在发送请求之前获取信号量并在响应到达时释放它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM