zoukankan      html  css  js  c++  java
  • 多线程加速下载的原理

    多线程下载的步骤:

            1.要知道服务端资源的大小。
            
                通过URLConnection请求服务器url获取。
                UrlConnection.getContentLength();//资源的大小
                
            2.在本地创建一个与服务端资源同样大小的一个文件(占位)
                    //file :  文件; mode:文件的模式,rwd:直接写到底层设备,硬盘
                    RandomAccessFile randomfile =new RandomAccessFile(File file,String mode)
                        
                    randomfile.setLength(long size);//创建一个文件和服务器资源一样大小
                    
            3.要分配每个线程下载文件的开始位置和结束位置。
                    
            4.开启线程去执行下载
                    通过UrlConnection下载部分资源。
                    注意:
                     1.需要Range头,key:Range   value:bytes:0-499 
                            urlconnection.setRequestPropety("Range","bytes:0-499")
                     2.需要设置每个线程在本地文件的保存的开始位置
                            RandomAccessFile randomfile =new RandomAccessFile(File file,String mode)
                            randomfile.seek(int startPostion);//本次线程下载保存的开始位置。
                            
            5.要知道每个线程下载完毕。

  • 相关阅读:
    如何稳定地使用 Google 搜索https://encrypted.google.com/
    widows 2008 同步时间命令
    MySql 初始化权限脚本
    [转] windows下Svn服务器之必须提交修改注释篇
    给编译好的DLL增加签名
    Anychart 破解备注
    Javascript 日期时间格式正则
    微服务项目规范(二)
    微服务项目规范(一)
    mac系统安装、启动与关闭redis
  • 原文地址:https://www.cnblogs.com/xufengyuan/p/5837316.html
Copyright © 2011-2022 走看看