3

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

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

4

2 回答 2

5

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

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

于 2012-12-06T09:28:54.457 回答
1

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

于 2012-12-06T09:30:55.910 回答