Plecam de la premiza ca avem o metoda care executa acelasi cod pentru fiecare element dintr-o colectie: public bool CheckItem(Item item) { ... } In mod natural am scrie: foreach (Item item in items) { item.IsValid = CheckItem(item); } sau items.ForEach(item=>CheckItem(item)); Am putea sa rulam paralel acest cod foarte usor, daca ne folosim de clasa ajutatoare Parallel : Parallel.ForEach(items,new Action(item=>CheckItem(item))); O varianta mai simpla in acest caz este sa scriem direct: Parallel.ForEach(items,CheckItem); Daca vrem sa parcurgem doar o parte din colectie putem sa scriem in felul urmator: Parallel.For(0, 3, new Action(index => CheckItem(items[index]))); Atentie , daca lucrati cu stream-uri sau baze de date trebuie avut grija la close si dispose. Problema este ceea ce se petrece in spate. N threaduri sunt folosite pentru linia de cod scrisa mai sus. Daca suntem pe client side, acest lucru nu este atat de important, dar daca suntem pe partea de server, putem avea mar...
DREAMER, CRAFTER, TECHNOLOGY ENTHUSIAST, SPEAKER, TRAINER, AZURE MVP, SOLVING HARD BUSINESS PROBLEMS WITH CUTTING-EDGE TECHNOLOGY