May, 2009

Prior to the .NET Framework 2.0, unhandled exceptions were largely ignored by the runtime. For example, if a work item queued to the ThreadPool threw an exception that went unhandled by that work item, the ThreadPool would eat that exception and...

We exert a good deal of effort ensuring that the APIs we provide are consistent within Parallel Extensions as well as with the rest of the .NET Framework. This is from many angles, including behavior and general design, but also naming. So...

Partitioning in PLINQ Every PLINQ query that can be parallelized starts with the same step: partitioning . Some queries may even need to repartition in the middle. Partitioning is a fairly simple concept at the high level: PLINQ takes a lock...

Exiting out of loops early is a fairly common pattern, one that doesn’t go away when parallelism is introduced. To help simplify these use cases, the Parallel.For and Parallel.ForEach methods support several mechanisms for breaking out of loops...

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...

In .NET 4, the new Parallel class provides For, ForEach, and Invoke methods for performing operations in parallel. One mental model that some folks use when thinking about Parallel.For is that it’s equivalent to running one System.Threading.Tasks.Task...

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...

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 http://code.msdn.microsoft.com/ParExtSamples ....

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...

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 http://msdn.microsoft.com/en-us/netframework...

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...

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...