如何管理多个线程
本文关键字:线程 管理 何管理 | 更新日期: 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);
});