In an age when every computer has multiple processor cores, the industry is hunting for great opportunities to keep those cores busy (to make one’s computer purchase pay off by improving processing times). One of the best understood domains of concurrency is in data processing, as testified by the long history of query optimization in database management systems. For example, SQL Server can leverage huge numbers of cores because of the embarrassingly parallel domain it operates on: relational databases.

Obviously, LINQ fishes in the same pond of data and query processing, so why can’t there be a way to parallelize in-memory queries, as well? Introduced in .NET 4.0, PLINQ, or Parallel LINQ, provides exactly this through a very simple ...

Get C# 5.0 Unleashed now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.