我使用org.apache.http.client.HttpClient。我有一个问题涉及这个课程的使用。
我应该为每个请求创建一个新的HttpClient
(例如,因为它是一个轻量级对象),或者每个http请求最好使用一个唯一的实例(例如,因为创建/删除是昂贵的)?
如果只允许使用HttpClient
的一个实例,则HttpClient
线程安全(例如,它可以同时处理许多http请求),或者在这种情况下最好创建一个{{{ 1}} S'
实际上,我为每个请求创建了一个新的HttpClient。我怀疑我必须使用HttpClient
创建一个在我的应用程序使用结束时关闭的唯一实例,但我不知道是否可以维护基于线程的并行性。
答案 0 :(得分:3)
DefaultHttpClient
标有@ThreadSafe
注释,所以是的,您可以以线程安全的方式使用它。 HTTPClient的性能文档也尽可能使用单个实例recommends。