多线程下载是什么意思、原理是怎样的?
1、什么是多线程下载
可以用一个简单的例子来说明:一杯饮料,你用一根吸管吸为单线程,用多根吸管同时吸是多线程;下载线程是为了增加带宽的利用率而提出的一个概念,可以将其简单地理解为下载通道,一个线程就是一个文件的下载通道,多线程下载就是将要下载的文件同时分成几大部分,然后通过多个通道下载。
2、多线程下载详解
线程可以理解为下载的通道,一个线程就是一个文件的下载通道,多线程也就是同时开起好几个下载通道.当服务器提供下载服务时,使用下载者是共享带宽的,在优先级相同的情况下,总服务器会对总下载线程进行平均分配。不难理解,如果你线程多的话,那下载的越快。现流行的下载软件都支持多线程。
3、多线程下载原理
(1)多线程下载的原理是这样的:通常服务器同时与多个用户连接,用户之间共享带宽。如果N个用户的优先级都相同,那么每个用户连接到该服务器上的实际带宽就是服务器带宽的N分之一。可以想象,如果用户数目较多,则每个用户只能占有可怜的一点带宽,下载将会是个漫长的过程。
(2)如果你通过多个线程同时与服务器连接,那么你就可以榨取到较高的带宽了。例如原来有10个用户都通过单一线程与服务器相连,服务器的总带宽假设为56Kbps,则每个用户(每个线程)分到的带宽是5.6Kbps,即0.7K字节/秒。
(3)如果你同时打开两个线程与服务器连接,那么共有11个线程与服务器连接,而你获得的带宽将是56/11*2=10.2Kbps,约1.27K字节/秒,将近原来的两倍。你同时打开的线程越多,你所获取的带宽就越大(原来是这样,以后每次我都通过1K个线程连接:P)。
(4)当然,这种情况下占用的机器资源也越多。有些号称“疯狂下载”的下载工具甚至可以同时打开100个线程连接服务器。
4、多线程和单线程的区别
(1)单线程和多线程之间的区别,可以用一个简单的例子来说明:一杯饮料,你用一根吸管吸为单线程,用多根吸管同时吸是多线程。多线程对下载速度的提升是显而易见的。
(2)一般来说,设置数目在5~10比较合适,再多也不会有什么明显的效果,反而会给系统增加负担,因为每增加一个线程就会增加一些对系统资源的占用。而且设置的线程数目过多时,还会因带宽被抢走而影响网页正常浏览。