Parallel LINQ
Parallel LINQ is a concurrency execution engine from Microsoft that can be used to execute LINQ queries in parallel by leveraging the multicore processors. It is a part of the managed concurrency library called Parallel Extensions Library. The Parallel Extensions library is comprised of the following:
Task Parallel Library (TPL)
Parallel LINQ (PLINQ)
In their MSDN article, Running Queries On Multi-Core Processors, Joe Duffy and Ed Essey state:
"PLINQ is a query execution engine that accepts any LINQ-to-Objects or LINQ-to-XML query and automatically utilizes multiple processors or cores for execution when they are available."
The reference is available at: http://msdn.microsoft.com/en-us/magazine/cc163329.aspx.
The following code snippet illustrates how PLINQ can be used:
Int32[] data = new Int32[100]; for (intintvar index = 0; index < 100; data[index] = index + 1, index++); var result = from x in data.AsParallel() select x; result.ForAll(p => Console.WriteLine...