2012-11-20 59 views
0

我正在使用多線程來加速從Web上下載一堆文件的過程。如何通過多線程最大化下載吞吐量

如何確定我應該使用多少線程來最大化或幾乎最大化總下載吞吐量?

PS:

我正在使用我自己的筆記本電腦,帶寬爲1Mb。

我想要的數據是coursera.com的網頁源代碼

+0

告訴我們更多關於你所在的環境,是一個服務器機房的高帶寬運行這個多線程的代碼?在任意的客戶機上?數據來自哪裏,服務器端有哪些資源可用? – slashingweapon

回答

1

,如果你想加快從網絡下載文件有更多的因素,而不是唯一的線程數。其實,我不相信你會實現這個預期,還有你有沒有描述的一些限制(如每在服務器端連接最大帶寬,你有多重客戶端,你可以使用不同的鏈接不要下載不同的數據,要從不同服務器下載不同的部分,或類似)。

在通常的情況下有多個線程下載的東西會減慢過程。您將需要維護幾個連接並以某種方式同步數據(期望如果您將同時下載不同的文件)。

我要說的是,在「普通」的條件下更大的限制是如此使用多個線程不會使下載速度更快的帶寬限制。在這種情況下,您將分享您的整個帶寬給許多連接。