.NET Parallel Programming

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

TPL Dataflow on TC Labs

After releasing a CTP of TPL Dataflow as part of the Async CTP, we had multiple requests for a standalone download for just the System.Threading.Tasks.Dataflow.dll.  Thanks to everyone who asked for this, and as of this morning, such an installer for an updated version of the preview is now available!  This is part of a ...

Parallel Computing Virtual Labs on MSDN

Interested in trying out the support for parallel computing in Visual Studio 2010 or .NET 4, but don’t have either installed?  No problem.  You can now use the MSDN Virtual Labs site to try these out from the comforts of your favorite browser (that supports ActiveX).  Multiple labs are available: Enjoy...

AsyncLazy

A question I’ve seen come up from time to time is “Why doesn’t Lazy<T> support asynchronous initialization?”  It’s a fair question.  After all, if you’re using Lazy<T> because you have an expensive resource you want to delay the creation of until it’s absolutely needed, it’s...

await anything;

One of the very cool things about the new await keyword in C# and Visual Basic is that it’s pattern based.  It works great with Task and Task<TResult>, and awaiting those two types will represent the vast majority of uses, but they’re by no means the only types that can be awaited.  The languages support awaiting ...

Interested in working on Technical Computing? We’re hiring!

The Parallel Computing Platform team is part of a larger organization at Microsoft focused on technical computing, which as Wikipedia describes it “is the application of the mathematical and computational principles of scientific computing to solve practical problems of industrial interest.”  Suffice it to say that there are a...