西西河

主题:【原创】三款高速下载软件评测 -- landkid

共:💬24 🌺8 新:
全看分页树展 · 主题 跟帖
家园 我自己也写了一个。主要是想看看.NET的Thread pool是否真的那么聪明。

结果发现还有不少问题。

批量下载文件,生成多少Thread是一个关键问题。按照微软的说法,这种问题我们不应该手工控制Thread,而应该由.NET CLR来决定,这样具体Thread数量会根据硬件和资源情况自动伸缩。比如同样的程序放到多个CPU的计算机上,CLR就会生成更多的Thread,以充分利用硬件资源。

但实际上,NET的选择并不是很正确。如果我Download一大堆MP3文件(文件比较大),在我的计算机上它会生成多大15条thread。结果呢,只有2-3个是Active的,别的不久就会time out。如果是下载一大堆JPEG文件(文件比较小),那么15个thread还比较优化。

Java现在也有类似的Thread pool,用户还可以指定pool里的thread数量,所谓的fix-sized pool。我还没有试验过。不过一旦fix了,那thread pool的意义也就损失了一半。因为这还是一种hard-coded的程序,不是真正Dynamic的。

全看分页树展 · 主题 跟帖


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河