风也温柔

计算机科学知识库

java多线程下载,结合实例形式详细分析了Java多线程文件传输下载 java多线程下载实例详解

  java多线程下载实例详解

  更新时间:2015年12月26日 15:33:04 作者:sgx425021234

  这篇文章主要介绍了java多线程下载,结合实例形式详细分析了Java多线程文件传输的原理与多线程下载的相关实现技巧,需要的朋友可以参考下

  本文实例讲述了java多线程下载。分享给大家供大家参考,具体如下:

  使用多线程下载文件可以更快完成文件的下载,多线程下载文件之所以快,是因为其抢占的服务器资源多。如:假设服务器同时最多服务100个用户,在服务器中一条线程对应一个用户java多线程实例代码,100条线程在计算机中并非并发执行,而是由CPU划分时间片轮流执行,如果A应用使用了99条线程下载文件,那么相当于占用了99个用户的资源,假设一秒内CPU分配给每条线程的平均执行时间是10ms
java多线程下载,结合实例形式详细分析了Java多线程文件传输下载
java多线程下载实例详解,A应用在服务器中一秒内就得到了990ms的执行时间,而其他应用在一秒内只有10ms的执行时间。就如同一个水龙头,每秒出水量相等的情况下,放990毫秒的水肯定比放10毫秒的水要多。

  多线程下载的实现过程:

  1.首先得到下载文件的长度,然后设置本地文件的长度。

  <pre class="brush:java;">
HttpURLConnection.getContentLength();
RandomAccessFile file = new RandomAccessFile("youdao.exe","rw");
file.setLength(filesize);//设置本地文件的长度
</pre>

  2.根据文件长度和线程数计算每条线程下载的数据长度和下载位置。如:文件的长度为6M,线程数为3java多线程实例代码,那么,每条线程下载的数据长度为2M,每条线程开始下载的位置如下图所示。

  

  文章来源:https://www.jb51.net/article/77034.htm