我需要从网站上抓取数据。我有超过 1,000 个需要访问的链接,以前我将每个线程划分为 10 个链接,并且将启动 100 个线程,每个线程拉出 10 个。在几个测试用例之后,100 个线程是最小化检索内容时间的最佳计数所有的链接。
我意识到 .NET 4.0 为开箱即用的多线程提供了更好的支持,但这是根据您拥有的内核数量来完成的,在我的情况下,这并没有产生足够的线程。我想我要问的是:优化 1,000 链接拉动的最佳方法是什么。我应该使用.ForEach
并让Parallel
扩展程序控制产生的线程数量,还是找到一种方法来告诉它启动和划分工作的线程数?
我以前没有合作过,Parallel
所以也许我的方法可能是错误的。