聚合全网技术文章,根据你的阅读喜好进行个性推荐
开源之夏第三届火热来袭,高校学生参与赢万元奖金!>>>
我今天也遇到了同样的疑惑,貌似httpclient4.x推荐使用单例的 HttpClient,因为HttpClient资源非常昂贵,而ConnectionManager中已经做了连接池功能,不过我没看到官方有这样的说法,楼主找到疑惑了吗
CloseableHttpClient 多线程不能同时使用该对象会有线程安全问题 , 本人亲自测试过。 改用HttpClient 对象就可以了!
本人在后面又测试了,修正下上面的答复。在多线程使用同一个CloseableHttpClient 对象时, 不要调用close方法。 否则后面的线程调用时会出现连接数的问题; 应该调用对应的HttpGet或者HttpPost对象的 releaseConnection方法。这样才可以保证多线程的安全访问。 另外本人测试时 发现httpclient3比httpclient4 快8-10秒。
楼主是亚信的吗?
不是亚信,现在使用连接池,没问题了,3Q各位
我今天也遇到了同样的疑惑,貌似httpclient4.x推荐使用单例的 HttpClient,因为HttpClient资源非常昂贵,而ConnectionManager中已经做了连接池功能,不过我没看到官方有这样的说法,楼主找到疑惑了吗
CloseableHttpClient 多线程不能同时使用该对象会有线程安全问题 , 本人亲自测试过。 改用HttpClient 对象就可以了!
引用来自“zhangleijie”的评论
CloseableHttpClient 多线程不能同时使用该对象会有线程安全问题 , 本人亲自测试过。 改用HttpClient 对象就可以了!
本人在后面又测试了,修正下上面的答复。在多线程使用同一个CloseableHttpClient 对象时, 不要调用close方法。 否则后面的线程调用时会出现连接数的问题; 应该调用对应的HttpGet或者HttpPost对象的 releaseConnection方法。这样才可以保证多线程的安全访问。 另外本人测试时 发现httpclient3比httpclient4 快8-10秒。
引用来自“beidao-ai”的评论
我今天也遇到了同样的疑惑,貌似httpclient4.x推荐使用单例的 HttpClient,因为HttpClient资源非常昂贵,而ConnectionManager中已经做了连接池功能,不过我没看到官方有这样的说法,楼主找到疑惑了吗
楼主是亚信的吗?
不是亚信,现在使用连接池,没问题了,3Q各位