Défi :
Comment pouvons-nous gérer efficacement les ressources système, en particulier la bande passante, lorsque nous utilisons Parallel.ForEach()
pour traiter plusieurs éléments simultanément ? Un parallélisme incontrôlé peut conduire à l'épuisement des ressources.
Solution :
La classe ParallelOptions
offre un mécanisme puissant pour contrôler le niveau de parallélisme au sein d'une boucle Parallel.ForEach()
. La clé est la propriété MaxDegreeOfParallelism
. En définissant cette propriété, vous limitez le nombre maximum de tâches exécutées simultanément.
Exemple :
<code class="language-csharp">Parallel.ForEach( listOfWebpages, new ParallelOptions { MaxDegreeOfParallelism = 4 }, webpage => { Download(webpage); } );</code>
Dans cet exemple, MaxDegreeOfParallelism = 4
garantit qu'un maximum de quatre téléchargements se produisent simultanément, évitant ainsi que le système ne soit submergé. Ajustez cette valeur en fonction des capacités de votre système et de la nature des tâches.
Lectures complémentaires :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!