ParallelFX runs on .NET FX 3.5, and relies on features available in C# 3.0 and VB 9.0 and includes:
- Imperative data and task parallelism APIs, including parallel for and foreach loops, to make the transition from sequential to parallel programs simpler.
- Declarative data parallelism in the form of a data parallel implementation of LINQ-to-Objects. This allows you to run LINQ queries on multiple processors.
- First class tasks that can be used to schedule, wait on, and cancel parallel work.
- New concurrency runtime used across the library to enable lightweight tasks and effectively map and balance the concurrency expressed in code to available concurrent resources on the execution platform.
- Several great examples of how to use parallelism in real world problems to obtain impressive speedups, including a raytracer, Sudoku puzzle generator, and other simple puzzle solvers and smaller samples.
You may have not even started to use LINQ yet, that you can already use PLINQ, a parallel implementation of LINQ to Objects!
You can learn more about Parallel LINQ (PLINQ) and ParallelFX in two MSDN articles: