java - 更快/更好的方式如何进行多个远程内容获取

标签 java

我需要编写一个库,它执行许多远程 HTTP 调用来获取内容。我可以按照描述做here ,但是有没有更好的方法(在性能方面)如何做到这一点?如果我按照示例中所述进行操作,我总是会创建一个 URL 对象,该对象会被解析等等 - 所以我认为这是一种开销:基本 URL 始终相同,只有单个参数始终不同,例如:

http://www.example.com/?param=value1
http://www.example.com/?param=value2
http://www.example.com/?param=value3
and so on...

什么是更快/更好的方法?

最佳答案

假设每个 URL 都有可能返回不同的资源,仅此而已。我会将每个 URL 放入其自己的线程中,这样您就不会因网络问题而阻塞。

但请确保不要创建太多线程。如果您的 URL 数量超过 10 个,我会建议将 URL 放入队列中,并让每个线程在完成后处理队列中的下一个,这样您就不会因为线程而搞乱系统。

关于java - 更快/更好的方式如何进行多个远程内容获取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7932393/

相关文章:

java - 生成总和为 1 的 N 个数字

java - 为什么这种打印方法有效?不应该失败吗?

Java - 从另一种方法中销毁在一种方法中创建的进程

java - 如果使用 Cucumber JVM 和 Allure,build.gradle 中的标准设置应该如何?

java - 在 Java 中压缩文件时在 7Zip 中创建空文件夹

java - 从 Spring Boot 调用 Cucumber

java - 再次出现空指针异常

java - 如何在 Scala 中调用 FileIO.Write.via(Contextful, Contextful)

java - WebSocket 通信中消息代理的用途?

java - 如何让倒计时进度条不断向下?