的單一實例我使用的DefaultHttpClient
一個單實例結合PoolingClientConnectionManager
以在多線程方式執行HTTP操作的cconsiderable數量(每秒倍數)。我的代碼基本上是:超時與DefaultHttpClient
final HttpParams httpClientParams = new BasicHttpParams();
httpClientParams.setParameter("http.protocol.version", HttpVersion.HTTP_1_1);
HttpConnectionParams.setConnectionTimeout(httpClientParams, 700);
HttpConnectionParams.setSoTimeout(httpClientParams, 700);
DefaultHttpClient client = new DefaultHttpClient(poolingClientConnectionManager, httpClientParams);
那麼我就要從多個線程訪問client
對象並行。
我的問題是,超時沒有得到尊重,我的HTTP請求比指定的700ms花費的時間長得多。
- 是否安全,設置超時時間在客戶端上如我上面做什麼?
- 對於很多平行請求使用單個實例
DefaultHttpClient
是否安全?
看起來'PoolingClientConnectionManager'池太小,因此請求花了很長時間。擴大游泳池已經解決了這個問題。 – Frederic