波多野结衣 蜜桃视频,国产在线精品露脸ponn,a v麻豆成人,AV在线免费小电影

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

本文介紹了Jersey客戶端非阻塞的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

問題描述

派生大量線程從來都不是一個好主意(當您創(chuàng)建太多線程時,無論如何都可能會耗盡內存)。

通常,Jersey需要為每個請求創(chuàng)建一個線程。無論我使用async()(Jersey為我創(chuàng)建線程-我已經在調試器中研究過這一點),還是不使用(顯然我必須自己創(chuàng)建線程),情況似乎都是如此。

所以這里有一個具體的情況,這是不夠好的:

我正在以高達500個請求/秒的速度向遠程服務器發(fā)送HTTP。但是,由于響應可能需要一些時間才能到達(我計算最多30秒),線程總數(shù)很容易達到數(shù)千(此時,JVM進程通常會崩潰)。此外,創(chuàng)建這么多線程簡直是瘋了。對于處理該負載的可用處理器/網絡/操作系統(tǒng)資源來說,這實際上應該是小菜一碟。

因此,我想要做的就是發(fā)出請求,并在HTTP響應到達時得到操作系統(tǒng)的通知。

如上所述,簡單地使用target.request(...).async()....并不能達到目的(因為這樣一來,Jersey只會產生自己的線程)。
此外,通過new ClientConfig().property(ClientProperties.ASYNC_THREADPOOL_SIZE, 10)限制線程數(shù)也沒有任何幫助,因為這意味著一次最多只能發(fā)送10個請求,這顯然不是我想要的(這只會堆積隊列)。

我嘗試了new ClientConfig().connectorProvider(new GrizzlyConnectorProvider())以獲得NIO支持-但在行為上根本看不到任何差異。

那么,有什么方法可以在不為每個請求創(chuàng)建一個額外線程的情況下啟動請求嗎?

推薦答案

我正在使用CloseableHttpAsyncClient向外部服務發(fā)出異步請求。它在每秒幾百個請求的情況下工作得很好,我還沒有觀察到像您這樣的線程數(shù)量。它是一個外部依賴項,您可以通過

通過Maven進行集成

<dependency>
  <groupId>org.apache.httpcomponents</groupId>
  <artifactId>httpasyncclient</artifactId>
  <version>4.0.1</version>
</dependency>

希望這能有所幫助。

這篇關于Jersey客戶端非阻塞的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,

分享到:
標簽:Jersey 客戶端 阻塞
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數(shù)獨大挑戰(zhàn)2018-06-03

數(shù)獨一種數(shù)學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數(shù)有氧達人2018-06-03

記錄運動步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定