在Java中发送40(ish)HTTP请求的最快方法是什么?

时间:2012-12-06 09:22:57

标签: java http

我目前正在使用Apache HTTP Client并运行多线程解决方案,目前我正在为我执行的每个httppost产生一个新线程。有没有办法让这个更快执行?我不需要对返回的内容做任何事情,我只需要发送我的请求。

我主要使用了步骤2.9中提供的代码http://hc.apache.org/httpcomponents-client-ga/tutorial/html/connmgmt.html#d5e639

2 个答案:

答案 0 :(得分:5)

假设您需要运行很长时间,如果预先创建线程,则可以节省一些执行时间,因此您不必为每个请求生成它们。性能提升会很小,但仍然比没有好。看看Java Executors

此外,请确保就Apache HTTP客户端使用而言,您不是在创建不需要的对象。例如,如果您(提前)知道您的请求发送到的位置,您可能希望保留HTTP连接池,而不是每次需要发送请求时都建立连接。

答案 1 :(得分:1)

我考虑使用异步IO(NIO)并在单个线程中触发40个请求,这样就不会有创建40个线程的开销。