Ce este paralel ForEach C#?
Ce este paralel ForEach C#?

Video: Ce este paralel ForEach C#?

Video: Ce este paralel ForEach C#?
Video: Is Parallel.For/ForEach in C# actually worth it? (and how to modernize it) 2024, Noiembrie
Anonim

Pentru fiecare bucla în C# rulează pe un singur fir și procesarea are loc secvenţial unul câte unul. Pentru fiecare bucla este o caracteristică de bază a C# și este disponibilă din C# 1.0. Execuția sa este mai lentă decât cea Paralel.

Ținând acest lucru în vedere, ce este paralelul pentru fiecare C#?

Paralel . Pentru fiecare Metoda în C# The Paralel pentru fiecare Metoda în C# prevede a paralel versiunea standardului, secvenţial Pentru fiecare buclă. În standard Pentru fiecare buclă, fiecare iterație procesează un singur articol din colecție și va procesa toate articolele unul câte unul. Pentru și Paralel.

De asemenea, știți, cum așteptați ca foreach paralel să se finalizeze? Nu trebuie să faci nimic special, Paralel . Pentru fiecare () voi aștepta până când toate sarcinile sale ramificate sunt complet . Din firul apelant îl puteți trata ca pe o singură instrucțiune sincronă și, de exemplu, îl puteți include într-un try/catch. Nu ai nevoie de asta cu Paralel.

Având în vedere acest lucru, foreach rulează în paralel?

A Paralel . Pentru fiecare bucla funcționează ca a Paralel . Pentru buclă. Bucla partiţionează colecţia sursă şi programează lucra la fire multiple bazate pe mediul de sistem.

Este sigur pentru fiecare fir paralel?

Siguranța firului Deși este foarte simplu să scrii a paralel foreach buclă, nu puteți pur și simplu să lipiți codul dintr-un cod normal pentru fiecare buclă și așteptați-vă să funcționeze pur și simplu. Aceasta înseamnă că codul funcționează în același mod, chiar dacă este multiplu fire rulează în același timp.

Recomandat: