中国开发网: 论坛: 程序员情感CBD: 贴子 66236
GoodHope
这也简单,就是效率低一点而已。
首先将文件划分为小块,不同的现成下载不同的段。每段包括1到n个块,各段收尾相连。如果各线程速度近似,则基本同时完成。这些操作可以在缓存中完成,当有顺序的数据进入的时候,就添加到结尾。然后,从以上各段最末尾之处开始新一轮循环。如果各段速度差异较大,则要考虑段、块之间动态的关系了,使得缓存消耗最小。

但是这样需要频繁调整下载起点,在高速传输的时候,效率较低。针对大文件,也可以根据传输速度来调整段甚至是块的大小可以缓解一部分性能损失,但是总的来说效率还是较一些。

相关信息:


欢迎光临本社区,您还没有登录,不能发贴子。请在 这里登录