5

25の異なるスレッドを使用するJavaアプリケーションのコーディングを終了しました。各スレッドは、httpリクエストが送信され、返されるjsonオブジェクト(小さいもの)が処理される無限ループです。特定のスレッドによって送信される2つの要求間の時間は500ミリ秒未満であることが重要です。ただし、プログラムでベンチマークを実行したところ、その時間は1000ミリ秒をはるかに超えています。だから私の質問は:複数のスレッドを作成する以外に複数の接続を処理するためのより良い方法はありますか?私は助けを切実に必要としているので、あなたが持っているかもしれないどんなアドバイスにも感謝しています!

PS:私はまともなインターネット接続を持っています(リクエストの宛先サーバーへのpingは約120msです)。

4

1 に答える 1

2

Apache HttpClientを見ることをお勧めします:

具体的には、プーリング接続マネージャーを持つクライアントの構築に関心があります。その後、同じクライアントを活用できます。

PoolingClientConnectionManager connectionManager = new PoolingClientConnectionManager();
connectionManager.setMaxTotal(number);

HttpClient client = new DefaultHttpClient(connectionManager);

ユースケースを処理する具体的な例を次に示します。

于 2012-12-21T02:16:27.477 に答える