如何管理多个线程

本文关键字:线程 管理 何管理 | 更新日期: 2023-09-27 18:25:59

我有一个软件,可以加载多达10000个URL的列表,这些URL用于为我的网站刮取保险价格。

我有一个线程在每个请求的时刻运行,它从列表中加载每个URL并获取数据。我想做的是每次运行20-30个请求。在循环文本文件的结果时,一次启动20-30个线程的最佳方式是什么?

如何管理多个线程

查看Task Parallel Library,尤其是Parallel.ForEach方法。

如果你在.NET 4上,那么你可以看看TPL和下面的内容。

const string path = @"c:'urls.txt";
string[] urls = File.ReadAllLines(path);            
var options = new ParallelOptions() 
              { MaxDegreeOfParallelism = 20};
Parallel.ForEach(urls, options, url =>
            {
                // Call your scraper here
                Debug.WriteLine(url);
            });