org.apache.http.client.HttpClient - 每个请求一个?

时间:2013-04-14 16:05:47

标签: java http connection apache-httpclient-4.x

我使用org.apache.http.client.HttpClient。我有一个问题涉及这个课程的使用。

我应该为每个请求创建一个新的HttpClient(例如,因为它是一个轻量级对象),或者每个http请求最好使用一个唯一的实例(例如,因为创建/删除是昂贵的)? 如果只允许使用HttpClient的一个实例,则HttpClient线程安全(例如,它可以同时处理许多http请求),或者在这种情况下最好创建一个{{{ 1}} S'

实际上,我为每个请求创建了一个新的HttpClient。我怀疑我必须使用HttpClient创建一个在我的应用程序使用结束时关闭的唯一实例,但我不知道是否可以维护基于线程的并行性。

1 个答案:

答案 0 :(得分:3)

DefaultHttpClient标有@ThreadSafe注释,所以是的,您可以以线程安全的方式使用它。 HTTPClient的性能文档也尽可能使用单个实例recommends