Webサイトからデータを取得する必要があります。アクセスする必要のあるリンクが1,000以上あり、以前はスレッドごとに10のリンクを分割し、10をプルするたびに100のスレッドを開始していました。いくつかのテストケースの後、コンテンツを取得する時間を最小限に抑えるには、100のスレッドが最適なカウントでした。すべてのリンク。
.NET 4.0は、箱から出してすぐにマルチスレッドをより適切にサポートすることに気付きましたが、これはコアの数に基づいて行われ、私の場合は十分なスレッドを生成しません。私が求めているのは、1,000リンクのプルを最適化するための最良の方法は何かということだと思います。拡張機能を使用.ForEach
して、Parallel
生成されるスレッドの量を制御する必要がありますか、それとも、作業を開始して分割するスレッドの数を拡張機能に指示する方法を見つける必要がありますか?
私は以前に一緒に仕事をしたことがないParallel
ので、おそらく私のアプローチは間違っているかもしれません。