的单一实例我使用的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