マルチスレッド方式でかなりの数 (毎秒複数) の HTTP 操作を実行するために、 のシングルトンインスタンスを使用しています。私のコードは基本的に次のとおりです。DefaultHttpClient
PoolingClientConnectionManager
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
次に、複数のスレッドから並行してオブジェクトにアクセスします。
私の問題は、タイムアウトが尊重されず、指定された 700 ミリ秒よりもはるかに長い HTTP 要求があることです。
- 上記のようにクライアントでタイムアウトを設定しても安全ですか?
- 多くの並列リクエストに対して
DefaultHttpClient
のシングルトン インスタンスを使用しても安全ですか?