チャレンジ:
Parallel.ForEach()
を使用して複数の項目を同時に処理する場合、システム リソース、特に帯域幅を効果的に管理するにはどうすればよいですか? 制御されていない並列処理は、リソースの枯渇につながる可能性があります。
解決策:
ParallelOptions
クラスは、Parallel.ForEach()
ループ内の並列処理のレベルを制御する強力なメカニズムを提供します。 キーは MaxDegreeOfParallelism
プロパティです。 このプロパティを設定すると、同時に実行されるタスクの最大数が制限されます。
例:
<code class="language-csharp">Parallel.ForEach( listOfWebpages, new ParallelOptions { MaxDegreeOfParallelism = 4 }, webpage => { Download(webpage); } );</code>
この例では、MaxDegreeOfParallelism = 4
により、最大 4 つのダウンロードが同時に行われるようになり、システムが過負荷になるのを防ぎます。 システムの機能とタスクの性質に基づいてこの値を調整します。
さらに読む:
以上がParallel.ForEach() で並列処理を制御してシステム リソースを管理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。