Я использую html agility pack для синтаксического анализа отдельных страниц веб-сайта форума. Таким образом, метод синтаксического анализа возвращает все ссылки на темы / темы в ссылке на страницу, переданные в качестве аргумента. Я собираю все эти тематические ссылки всех проанализированных страниц в единую коллекцию.
После этого я проверяю, есть ли они в моем Словаре
уже просмотренных URL-адресов, и если их нет, то я добавляю их в новый список, и пользовательский интерфейс показывает этот список, который в основном новые темы / темы, созданные с прошлого раза.
Поскольку все эти операции кажутся независимыми, как лучше всего их распараллелить?
Следует ли использовать .NET 4.0 Parallel.For / ForEach
?
В любом случае, как могу ли я собрать результаты каждой страницы в единую коллекцию? Или в этом нет необходимости?
Могу ли я читать из моего централизованного словаря
, когда метод синтаксического анализа завершается, чтобы увидеть, есть ли они там одновременно?
Если я запустил эту программу для 4000 страниц, это займет например, 90 минут, было бы здорово, если бы я мог использовать все свои 8 ядер для выполнения той же задачи за ~ 10 минут.