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.要知道每个线程下载完毕。

  • 相关阅读:
    Linux中profile、bashrc、bash_profile之间的区别和联系
    指针长度长几何
    快速理解网络协议视频总结
    gdb调试关键点记录
    调试经验积累
    定位网页元素
    浮动
    盒子模型
    css3
    css
  • 原文地址:https://www.cnblogs.com/xufengyuan/p/5837316.html
Copyright © 2011-2022 走看看