Java 多个并行Http请求的优势
当我们创建多个连接/请求时,实际会发生什么情况?与顺序请求相比,它的速度有多快?我有这个问题,因为在并行请求的情况下,带宽不是跨请求共享的,导致响应时间长 在我的例子中,我们使用volley库在不同的线程上执行多个请求,但它如何有用呢Java 多个并行Http请求的优势,java,android,http,networking,web,Java,Android,Http,Networking,Web,当我们创建多个连接/请求时,实际会发生什么情况?与顺序请求相比,它的速度有多快?我有这个问题,因为在并行请求的情况下,带宽不是跨请求共享的,导致响应时间长 在我的例子中,我们使用volley库在不同的线程上执行多个请求,但它如何有用呢 有人能解释一下并行请求是如何以及为什么被优先选择的。那么,假设你和一个棒球和三个朋友站在一个场地上 你想把球扔给你的每个朋友,所以你把球扔给你的第一个朋友。他把它扔了回去。然后你把球扔给你的第二个朋友,他把球扔回去,然后你的第三个朋友,等等 现在让我们假设你站在一
有人能解释一下并行请求是如何以及为什么被优先选择的。那么,假设你和一个棒球和三个朋友站在一个场地上 你想把球扔给你的每个朋友,所以你把球扔给你的第一个朋友。他把它扔了回去。然后你把球扔给你的第二个朋友,他把球扔回去,然后你的第三个朋友,等等 现在让我们假设你站在一个场地上,有三个棒球和三个朋友 你把一个球扔给你的第一个朋友。现在球在空中,所以你拿起另一个球并把它扔给你的第二个朋友。当球在空中时,你把最后一个球扔给你的第三个朋友
很容易看出,通过同时在空中放置多个球,整个过程所需的时间将大大减少。同样的原则也适用于HTTP请求。显然,正如您所说,您必须能够有多个连接和多个线程;但是,当您能够做到这一点时,您将在较短的时间内完成相同数量的工作。我至少可以想到三个原因:延迟、数据包丢失和流量整形
0 1 2 3 4 5
RQ1 RQ2 RQ3 RQ4 RQ5|
然后需要五秒钟。假设你一个接一个地发送它们
0 1 2 3 4 5
RQ1 |
RQ2 |
RQ3 |
RQ4 |
RQ5|
这需要更少的时间,因为设备可以在前一个请求仍在运行时发送下一个请求