Herausforderung:
Wie können wir Systemressourcen, insbesondere Bandbreite, effektiv verwalten, wenn Parallel.ForEach()
zur gleichzeitigen Verarbeitung mehrerer Elemente verwendet wird? Unkontrollierte Parallelität kann zur Erschöpfung der Ressourcen führen.
Lösung:
Die ParallelOptions
-Klasse bietet einen leistungsstarken Mechanismus zur Steuerung des Parallelitätsgrads innerhalb einer Parallel.ForEach()
-Schleife. Der Schlüssel ist die Eigenschaft MaxDegreeOfParallelism
. Durch Festlegen dieser Eigenschaft begrenzen Sie die maximale Anzahl gleichzeitig ausgeführter Aufgaben.
Beispiel:
<code class="language-csharp">Parallel.ForEach( listOfWebpages, new ParallelOptions { MaxDegreeOfParallelism = 4 }, webpage => { Download(webpage); } );</code>
In diesem Beispiel stellt MaxDegreeOfParallelism = 4
sicher, dass maximal vier Downloads gleichzeitig erfolgen, um eine Überlastung des Systems zu verhindern. Passen Sie diesen Wert basierend auf den Fähigkeiten Ihres Systems und der Art der Aufgaben an.
Weiterführende Literatur:
Das obige ist der detaillierte Inhalt vonWie kann ich die Parallelität in Parallel.ForEach() steuern, um Systemressourcen zu verwalten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!