簡體   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