.NET Parallel Programming

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

Known Issues in Parallel Extensions to .NET 4.0 Beta1

We’re excited to have the Beta in your hands. (See .NET 4 Beta 1 is now available, with parallelism!) As you use it, please keep in mind the following known issues which we plan to address after Beta1.1. Do not take a dependency on the System.Collections.Concurrent.ConcurrentLinkedList<T> class, because it is being removed....

.NET 4 Cancellation Framework

A very interesting addition to .NET 4 is a set of new types that specifically assist with building cancellation-aware applications and libraries. The new types enable rich scenarios for convenient and safe cancellation, and help simplify situations that used to be be difficult and error-prone and non-composable. The details of the new types ...

Samples for Parallel Programming with the .NET Framework 4

Along with the release of the .NET Framework 4 Beta 1, we've just published a slew of samples that demonstrate using Parallel Extensions in a variety of ways.  You can download these from Code Gallery at https://code.msdn.microsoft.com/ParExtSamples.These samples include raytracers, a sudoku game, an image colorization algorithm, solvers ...

.NET 4 MSDN documentation for parallelism

In addition to the Betas of Visual Studio 2010 and the .NET Framework 4 being available for download today, the MSDN documentation for .NET 4 Beta 1 is also available.  This includes quite a bit of useful information about the new parallelism constructs.  Here's a summary of the relevant material, with links: Related to...

.NET 4 Beta 1 is now available, with parallelism!

We’re very excited that the .NET Framework 4 Beta is now available for public download, as .NET 4 has Parallel Extensions built into its core. You can download the Betas for Visual Studio 2010 and .NET Framework 4 at https://msdn.microsoft.com/en-us/netframework/dd582936.aspx.For more information on what’s new in Beta 1 regarding ...

Axum bits are released!

We’ve mentioned Axum (formerly known as Maestro) before and we have some very good news: it’s up for you to try!Axum is an incubation .NET language that aims to make programming parallelism safe by focusing on isolation of state. It balances the efficiency of shared state and the safety of message-passing in one programming model. ...

Mutable value types: the good, the bad and the ugly

Fire up your favorite search engine, type in “mutable value types” and you might just feel a bit of pity for the poor little guys. It seems like everyone hates them. Truth be told, there’s a lot to dislike about them but before we get into the nastiness of mutable value types, let’s talk about why value types in general are oft-...

What’s new in Beta 1 for Parallel LINQ (PLINQ)?

A number of improvements have been made to Parallel Extensions since the Visual Studio 2010 CTP across the Task Parallel Library (TPL), Parallel LINQ (PLINQ), and our coordination data structures.  You can find the latest on TPL (1 2 3) and the data structures (link) on this blog.  Here are the big changes to PLINQ since that CTP...