Parallel.ForEach Loop C# with Example



Parallel.ForEach Loop C# with Example

If you have a foreach loop that you want to speed up and you don't mind what order the output is in, you can 
convert it to a parallel foreach loop by doing the following: 
using System; 
using System.Threading; 
using System.Threading.Tasks; 
public class MainClass { 
public static void Main() { 
int[] Numbers = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; 
// Single-threaded 
Console.WriteLine("Normal foreach loop: "); 
 

foreach (var number in Numbers) { 
Console.WriteLine(longCalculation(number)); 
} 
// This is the Parallel (Multi-threaded solution) 
Console.WriteLine("Parallel foreach loop: "); 
Parallel.ForEach(Numbers, number => { 
Console.WriteLine(longCalculation(number)); 
}); 
} 
private static int longCalculation(int number) { 
Thread.Sleep(1000); // Sleep to simulate a long calculation 
return number * number; 
} 
} 

0 Comment's

Comment Form

Submit Comment