Copyright by Gastón C. Hillar

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

O'Reilly logo

INTRODUCTION

In 2007, Microsoft released the first Community Technology Preview (CTP) of Parallel Extensions for the .NET Framework. The old .NET Framework multithreading programming model was too complex and heavyweight for the forthcoming multicore and manycore CPUs. I had been researching parallel programming, multiprocessor, and multicore since 1997, so I couldn't help installing the first CTP and trying it. It was obvious that it was going to be an exciting new way of expressing parallelism in future C# versions.

Visual Studio 2010 ships with version 4 of the .NET Framework, the first release to include Parallel Extensions. C# 4 and .NET Framework 4 allow you to shift to a modern task-based programming model to express parallelism. It is easier to write code that takes advantage of multicore microprocessors. Now, you can write code that scales as the number of available cores increases, without having to work with complex managed threads. You are able to write code that runs tasks, and the Common Language Runtime (CLR) will inject the necessary threads for you. It is easy to run data parallelism algorithms taking advantage of multicore.

At the time of this writing, multicore microprocessors are everywhere. Servers, desktop computers, laptops and notebooks, netbooks, mobile Internet devices (MIDs), tablets, and even smartphones use multicore microprocessors. The average number of cores in each microprocessor is going to increase in the forthcoming years. Are you going to lose ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required