複数の execute メソッド呼び出しに同じHttpClient * object * を使用しても問題ありませんか? ( HttpGetリクエストを同時に実行していないと仮定します)
2 に答える
AndroidHttpClient
API 8以降でそれを行うために使用できます。AndroidHttpClient の操作方法については、次のリンクを参照してください: http://www.java2s.com/Code/Android/Network/CreateHttpconnection.htm
それ以外の場合は、 を使用できますThreadSafeClientConnManager
。「この接続マネージャーは単一の接続を処理するのではなく、プールから各接続を取得し、スレッドに割り当て (その後、排他的にアクセスできます)、スレッドが一度プールに戻ることができるそれらのプールを処理します。同じまたは別のスレッドが同じルートの接続を要求する場合、最初に接続を閉じてから再度開く必要なく、接続をプールからすぐに再利用できます。たとえば、new connection.ThreadSafeClientConnManager は、合計接続の最大数のデフォルト値を 20 に設定し、ルートごとの接続の最大数を 2 に設定します。" - 「Android in Practice」より
ThreadSafeClientConnManager については、次のリンクを参照してください: http://massapi.com/class/th/ThreadSafeClientConnManager.html
同じ HttpClient を使用するのは安全ではありませんが、AndroidHttpClient を使用できます。
AndroidHttpClient client = AndroidHttpClient.newInstance("xxxx");
AndroidHttpClient はスレッドセーフです。