.NET Parallel Programming

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

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

New PLINQ video on Channel 9

Igor and Joe from our Parallel Extensions team sat down with Charles from Channel 9 to discuss the inner workings of PLINQ.  The video of the conversation is now available at https://channel9.msdn.com/showpost.aspx?postid=390736. "Continuing our exploration of the Parallel Computing Platform and the folks who think it up and ...

Parallel Aggregations in PLINQ

Quick Overview of LINQ Aggregations In order to explain the issues we encounter when parallelizing aggregations in PLINQ, let's first take a quick look at how aggregations work in LINQ.Aggregation is an operation that iterates over a sequence of input elements, maintaining an accumulator that contains the intermediate result. At each step, a ...

Debugger display of PLINQ queries

Sometimes very simple additions to an API or implementation make me happy.  One such nicety in the CTP of PLINQ is the implementation of ToString on the concrete types that represent query operators.  These implementations provide a textual representation of the query structure, which can be very nice for debugging purposes. ...

LINQ 101, “Parallelism Blockers,” and PLINQ

PLINQ is a very cool technology, and I believe it will prove useful for parallelizing operations in a wide range of important scenarios.  Moreover, I believe that the programming model it provides will enable a wide-range of developers to easily take advantage of concurrency in their applications.  However, one of the risks ...