0

对多个执行方法调用使用相同的HttpClient * object * 是否可以?(假设我没有同时执行HttpGet 请求

4

2 回答 2

1

您可以使用AndroidHttpClientapi 8 或更高版本来执行此操作。请参阅此链接以了解如何使用 AndroidHttpClient:http ://www.java2s.com/Code/Android/Network/CreateHttpconnection.htm

否则,您可以使用ThreadSafeClientConnManager. “这个连接管理器不处理单个连接,而是它们的一个池,每个连接都可以从池中取出,分配给一个线程(然后具有对它的独占访问权),一旦线程返回到池中如果同一个或另一个线程为同一个路由声明了一个连接,那么可以立即从池中重用一个连接,而无需先关闭再重新打开它,从而避免了 HTTP 在建立一个连接时执行握手的开销例如,新的 connection.ThreadSafeClientConnManager 将最大总连接数的默认值设置为 20,将每个路由的最大连接数设置为 2。” - 来自“实践中的 Android”

您可以查看此链接以了解 ThreadSafeClientConnManager: http: //massapi.com/class/th/ThreadSafeClientConnManager.html

于 2012-12-26T11:06:56.317 回答
0

使用同一个HttpClient是不安全的,但是可以使用AndroidHttpClient,

AndroidHttpClient client = AndroidHttpClient.newInstance("xxxx");

AndroidHttpClient 是线程安全的。

于 2012-12-26T10:01:17.973 回答