首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

多线程下载速度反而更慢解决方案

2012-06-06 
多线程下载速度反而更慢我做是手机项目,尝试下载20M的文件,在wifi的网络环境下,单线程花的时间是5分18秒,

多线程下载速度反而更慢
我做是手机项目,尝试下载20M的文件,在wifi的网络环境下,单线程花的时间是5分18秒,双线程花的时间是6分46秒。
可能多线程时间会更长,请问是这是为什么?有什么方法可以提高下载速度吗?

[解决办法]
1、网速有没有达到瓶颈
2、手机是不是多核,系统对多任务的支持度


[解决办法]
也没差太多啊?
[解决办法]
你多线程下载时采用的什么方式?预先文件填充数据么?有使用 Range 么?

你好像什么都没说,无能为力!
[解决办法]
不预先填充的话,那用多个线程下回来的每一块数据怎么拼起来呢?
[解决办法]

探讨

预先填充的话说白了就是先占坑。第一次 HTTP 请求时通过 Content-Length 获取资源的大小,预先创建一个这样大小的文件,先全部填充为字节 0

如果开启 5 个线程,文件大小是 1000 的话,那么 0~999 字节使用线程 1 通过 Range 去下载,1000~1999 字节依次类推。线程 1 从该文件 0 位置开始写入,线程 2 从该文件 1000 处开始写入。

[解决办法]
换个双核手机试试[img=http://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/003/monkey/3.gif][/img]

热点排行