私は、フォーラムWebサイトの個々のページを解析するために、html agilityパックを使用しています。したがって、解析メソッドは、引数として渡されたページリンク上のトピック/スレッドリンクをすべて返します。私はすべての解析されたページのこれらのトピックリンクをすべて1つのコレクションに集めます。彼らは私のDictionary
既に閲覧URLの上にある場合ウェブページの解析を最適に並列化するにはどうすればよいですか?
はその後、私がチェックし、そうでない場合は、その後、私は新しいリストに追加し、UIは、基本的に作成された新しいトピック/スレッドでこのリストを示し、前回から
これらの操作はすべて独立しているように見えるので、これを並列化するにはどうすればよいでしょうか?
.NET 4.0のParallel.For/ForEach
を使用する必要がありますか?
どちらの方法でも、各ページの結果を1つのコレクションに集めるにはどうすればよいですか?それとも必要ないのですか?
parseメソッドが完了したときにいつでも、私は集中型Dictionary
から読み込むことができますか?
このプログラムを4000ページで実行すると、90分かかるので、8つのコアすべてを使用して〜10分で同じタスクを完了できたらいいでしょう。
ありがとうございます、メルカトルの設計は少し複雑ですが、抽出されたすべてのリンクを 'ConcurrentDictionary'で収集し、その後、私が望む私の集中コレクションをチェックして新しいリンクを収集します'ConcurrentDictionary'を作るために、この手順を並行して行うこともできます。それは私が考えることができる最高です。 –