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 O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.