Show C# and VB.NET programmers how to effectively take advantage of the multicore capabilities of modern PCs using the Microsoft platform. The CPU meter shows the problem. One core is running at 100 percent, but all the other cores are idle. Your application is CPU-bound, but you are using only a fraction of the computing power of your multicore system. What next? The answer, in a nutshell, is parallel programming. Where you once would
have written the kind of sequential code that is familiar to all programmers, you now find that this no longer
meets your performance goals. To use your system's CPU resources efficiently, you need to split your application
into pieces that can run at the same time. This is easier said than done. Parallel programming has a reputation for
being the domain of experts and a minefield of subtle, hard-to-reproduce software defects.