首页 新闻 赞助 找找看

为什么我多线程下载文件(java)的效率比单线程下载文件的效率要低好多???

0
悬赏园豆:10 [待解决问题]

估摸着多线程下载文件所用的时间要比单线程所用的时间多好几倍,请各位大神答疑~

狂盗一枝梅的主页 狂盗一枝梅 | 初学一级 | 园豆:191
提问于:2015-06-27 20:07
< >
分享
所有回答(5)
0

这个不是三言两语能说清楚的,要具体问题具体分析。

比如你单线程下载一个文件,能用10M带宽。你多线程下载,每个线程只能用1M带宽。

Firen | 园豆:5385 (大侠五级) | 2015-06-27 20:10

我用的tomcat服务器是本地的~

开多线程下载文件的目的就是为了抢带宽吗

支持(0) 反对(0) 狂盗一枝梅 | 园豆:191 (初学一级) | 2015-06-28 09:28
0

说说你怎么个多线程下载的?

angelshelter | 园豆:9887 (大侠五级) | 2015-06-27 21:35

http://www.cnblogs.com/kuangdaoyizhimei/p/4604564.html 大标题第四个

支持(0) 反对(0) 狂盗一枝梅 | 园豆:191 (初学一级) | 2015-06-28 09:26
0

你该不会就是直接开多个线程同时下载一个文件吧?

吴瑞祥 | 园豆:29449 (高人七级) | 2015-06-28 07:00

这样做不对吗

支持(0) 反对(0) 狂盗一枝梅 | 园豆:191 (初学一级) | 2015-06-28 09:25

@狂盗一枝梅: 断点续传实现了吗?

支持(0) 反对(0) 吴瑞祥 | 园豆:29449 (高人七级) | 2015-06-28 22:45

@吴瑞祥: 单线程断点续传实现了~多线程不知道怎么做

支持(0) 反对(0) 狂盗一枝梅 | 园豆:191 (初学一级) | 2015-06-29 09:22

@狂盗一枝梅: 多线程就是每个线程去下载一段文件,然后合起来。

支持(0) 反对(0) 喵喵喵猫 | 园豆:1742 (小虾三级) | 2015-06-29 11:46

@芬达: 恩,有道理

支持(0) 反对(0) 狂盗一枝梅 | 园豆:191 (初学一级) | 2015-06-29 12:14
0

我看了你的那篇博客,你只是展示了客户发起下载文件请求,以及客户端收到响应后,如何去读取数据。

我现在不知道你在服务端如何实现。

做一个假设,不论是单线程还是多线程下载,如果你在服务端是下载整个文件时,多线程的肯定没有单线程效率高。

在服务端,应该是也采用多个线程分别读取文件中的一段内容,响应给客户端,然后在客户端再拼接成一个完整文件。 

乐享程序员 | 园豆:930 (小虾三级) | 2015-06-29 13:24

我只是站在客户端的角度上来说多线程下载的事情,服务端不做设置,只是开启了而已;你说的服务端控制的多线程下载,好像不太容易实现吧

支持(0) 反对(0) 狂盗一枝梅 | 园豆:191 (初学一级) | 2015-06-29 14:06
0

那个我认为线程之间的转换也会消耗时间,如果线程过多的话,可能在线程之间转换的时间过多,在有些情况的时候多线程更慢

云的深处 | 园豆:202 (菜鸟二级) | 2015-08-04 16:14
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册