挑戰:
當使用Parallel.ForEach()
同時處理多個專案時,我們如何有效管理系統資源,特別是頻寬? 不受控制的並行性可能會導致資源耗盡。
解:
ParallelOptions
類別提供了一個強大的機制來控制 Parallel.ForEach()
循環內的並行性等級。 關鍵是 MaxDegreeOfParallelism
屬性。 透過設定此屬性,您可以限制同時執行的任務的最大數量。
範例:
<code class="language-csharp">Parallel.ForEach( listOfWebpages, new ParallelOptions { MaxDegreeOfParallelism = 4 }, webpage => { Download(webpage); } );</code>
在此範例中,MaxDegreeOfParallelism = 4
確保同時進行最多四個下載,防止系統不堪負荷。 根據系統的功能和任務的性質調整此值。
進一步閱讀:
以上是如何控制 Parallel.ForEach() 中的並行性來管理系統資源?的詳細內容。更多資訊請關注PHP中文網其他相關文章!