.NET Parallel Programming

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

Introducing ConcurrentStack

A common problem users run into when writing parallel applications is the lack of the thread-safety support in the .NET collection classes. Users typically need to implement their own synchronization mechanism for achieving the goal of safely reading/writing data to the same shared collection. A largely deprecated solution was to use the ...

PLINQ Ordering

There is a natural tension between ordering and performance in a parallel partitioning system such as PLINQ, which we addressed as guidance in the Dec07 CTP documentation:  “Although you can opt into ordering, this does come at a cost to performance because it constrains the options which PLINQ can use for executing a query, so it ...

Announcing the “Parallel Programming in Native Code” Blog

Our colleagues working on native concurrency have just launched the Parallel Programming in Native Code blog.  We’re all on the same team and work really closely to ensure that the right programming models are exposed both for managed and native consumers, so you will be able to use your language of choice. Here’s a ...

Mandelbrot in Parallel with C++/CLI

Since the release of the December 2007 CTP of Parallel Extensions, we've received several questions about whether Parallel Extensions can be used from C++/CLI.  In short, yes, it can! (It can be used with any .NET language, one of the beauties of this functionality being provided through a library.)  To demonstrate, we included in ...

More Powerful Aggregations in PLINQ

In the June 2008 CTP, PLINQ aggregations are more powerful than they were in the December 2007 CTP. The reason why they are more powerful is a bit subtle, but this new power enables many useful scenarios, so it is worth it to follow along with the explanation.To understand where the difference is coming from, let’s quickly review how ...

What’s New in the June 2008 CTP of Parallel Extensions

We've just released a new community technology preview (CTP) of Parallel Extensions to the .NET Framework!  You can download it from https://www.microsoft.com/downloads/details.aspx?FamilyId=348F73FD-593D-4B3C-B055-694C50D2B0F3.  This release contains a plethora of bug fixes as well as some design changes to address some great ...