问题:多线程下载的好处?
多线程下载比单线程下载快,主要的原因是采用多线程下载,可以抢占更多的服务器资源。抢占cpu的处理空间,实现更快的下载速度
问题:多线程下载位置的确定?
开启n条线程下载文件,假设文件大小为buf,那么每条线程的下载量为:
buf%n==0?buf/n:buf/n+1;
那么,每一条线程应该从网络文件的什么位置开始下载??
假设线程id号threadid为0,1,2,每一条线程下载的数据量为block=4
第一个文件从threadid*block开始下载,结束位置(threadid+1)*block-1
所以公式为:
int start=threadid*block;
int end=(threadid+1)*block-1;
多线程下载源码(仅供参考)
转载请注明出处!程序猿之洞:http://blog.csdn.net/acmman