.NET Parallel Programming

All about Async/Await, System.Threading.Tasks, System.Collections.Concurrent, System.Linq, and more…

Another Parallel Extensions screencast

Daniel Moth is on a roll.  Two weeks ago he created three great overview screencasts for Parallel Extensions to the .NET Framework.  Today, he released a fourth video, covering the Task and TaskManager classes.  Thanks, Daniel!  We'll get this added to the MSDN Parallel Computing developer center soon, but in the meantime, ...

Code Snippets for Parallel.For and Parallel.ForEach

Introduced in Visual Studio 2005, Code Snippets allow you to quickly insert reusable blocks of code into your project.  For example, if you want to quickly write a for loop in C#, you can simply type "for" into your code file, and IntelliSense shows you the "for" code snippet: Now you press the tab key twice, and Visual ...

Task Parallel Library changes since the MSDN Magazine article

Back in the October 2007 issue of MSDN Magazine, we published an article on the beginning stages of what has become the Task Parallel Library (TPL) that's part of the Parallel Extensions to the .NET Framework.  While the core of the library and the principles behind it have remained the same, as with any piece of software in the ...

Welcome to the Parallel Extensions team blog!

Software is headed for a fundamental change.  Over the last 30 years, developers have relied on exponential growth in computing power in order to dream big.  Your cool new application is too slow today?  No problem, just wait two years and everyone will have computers that run twice as fast.  But as Herb Sutter wrote, &...

Known Correctness Bugs with the Parallel Extensions CTP December 2007

Here are known correctness bugs as of our December 2007 CTP release: Common The setup for Parallel Extensions may fail on Windows Server 2008 (both 32-bit and 64-bit).  As a workaround, Parallel Extensions may be installed manually: From a prompt with administrator privileges: msiexec /a ParallelExtensions_Dec07CTP.msi TARGETDIR="%TMP%...