.NET Parallel Programming
All about Async/Await, System.Threading.Tasks, System.Collections.Concurrent, System.Linq, and more…
Latest posts
New Task APIs in .NET 4.6
There are several nice API-level enhancements to the Task Parallel Library in .NET 4.6, which you can grab a preview of as part of the Visual Studio 2015 CTP...
.NET memory allocation profiling and Tasks
The .NET Framework blog published this morning a guest post from yours truly on .NET Memory Allocation Profiling with Visual Studio 2012. As you're trying...
Tasks, Monads, and LINQ
A few years back, Wes Dyer wrote a great post on monads, and more recently, Eric Lippert wrote a terrific blog series exploring monads and C#. In that series, ...
“Invoke the method with await”… ugh!
I can be a bit sensitive when it comes to language and how concepts are conveyed. I think it’s important to be accurate, even if not precise, when ...
MVP Summit presentation on async
Lucian Wischik and I presented an "async clinic" at the MVP Summit in Bellevue this week. The async/await keywords in C# and Visual Basic drastically ...
Psychic Debugging of Async Methods
These days it’s not uncommon for me to receive an email or read a forum post from someone concerned about a problem they’re experiencing with an ...
Cooperatively pausing async methods
Recently I was writing an app that processed a bunch of files asynchronously. As with the Windows copy file dialog, I wanted to be able to provide the ...
C# memory model articles
Igor Ostrovsky is one of the minds behind the parallel programming support in the .NET Framework. Igor's recently written a great set of articles for MSDN...
PLINQ and Int32.MaxValue
In both .NET 4 and .NET 4.5, PLINQ supports enumerables with up to Int32.MaxValue elements. Beyond that limit, PLINQ will throw an overflow exception.&...