lec*_*eur 4 java java-http-client
如何限制java.net.http.HttpClient的连接/请求数量?
我看到我可以将 Executor 设置为 HttpClient 但我不知道:如果我限制 Executor 池中的线程数,是否也会限制连接数?
还有一种方法可以限制连接数?
要限制通过 HttpClient 发出的并发请求数量,您必须在应用程序级别执行此操作。HttpClient 是纯异步的,因此限制 HttpClient 执行器中的线程数量将不起作用。同样,限制保持活动池中的连接数量也不起作用,因为该池仅包含空闲连接。
通过保护使用简单信号量发送请求的代码(请参阅java.util.concurrent.Semaphore ) ,应该很容易在应用程序级别限制并发请求的数量。要将并发请求数限制为例如 10 个请求,只需创建一个具有 10 个许可的信号量,在发送请求之前获取该信号量,并在响应到达时释放它。
| 归档时间: |
|
| 查看次数: |
2143 次 |
| 最近记录: |