平时我们用下载器下载文件时可以用多线程下载
我不明白这里的多线程指的是什么?
是同时连接几个服务器来下载一个文件吗?
要建立好几个InputStream流吗?  大家写点意见吧

解决方案 »

  1.   

    不是搞桌面程序开发的,不了解这块不过,“多线程”下载应该是指同时对同一个服务器(当然也可以是多个,比如下载服务器是集群环境)发起多个连接,来下载一个文件,应该是好几个InputStream
      

  2.   

    同一文件对应的InputStream是一样的,多线程下载时,最初用一个线程获取远程文件的InputStream,然后根据线程数重新平均分配,后面新开的线程对每个InputStream读取的位置不同,如1个10M的文件,第一个线程从0-1024K-1个字节读,第二个线程从1024K-1个字节到2048K-1个字节读,依次类推。
      

  3.   

    多线程就是多个任务同时进行,比如总共100M,一个线程下1-10M,一个线程下11-20M,以此类推,当然,某一时刻还是只有一个线程在占用cpu,用时间片轮转,好像多个线程都在同时进行,除非是双核,那可以实现2个线程同时进行,等下载完后,会把资源再拼接起来,你看迅雷每次到99.9%的时候都要停顿相对较长的时间,我个人觉得应该是在拼接资源