Stephen Toub - MSFT

Partner Software Engineer, .NET

Stephen Toub is a developer on the .NET team at Microsoft.

Post by this author

Don’t Forget To Complete Your Tasks

“Don’t forget to complete your tasks.”  That guidance may sound trivial and silly, but I recently saw it as a source of a bug in software written by some very smart folks, and thus thought this would be a good opportunity to remind folks of the imperative.Tasks represent a promise.  If you hand one out, someone else...

Task Exception Handling in .NET 4.5

For the .NET Framework 4.5 Developer Preview, a lot of work has been done to improve the Task Parallel Library (TPL), in terms of functionality, in terms of performance, and in terms of integration with the rest of the .NET Framework.  With all of this work, we’ve strived for a very high compatibility bar, which means your ...

Updated TPL Dataflow CTP

It’s been a few months since April when we last released a Community Technology Preview (CTP) of System.Threading.Tasks.Dataflow.dll, aka “TPL Dataflow”.  Today for your programming pleasure, we have another update.As mentioned in “What’s New for Parallelism in .NET 4.5”, System.Threading.Tasks.Dataflow...

Parallelism BUILD talks available on Channel9

Thanks to everyone who attended my two talks at BUILD this past week, and I hope you enjoyed the sessions!  For those of you unable to attend in person, the recordings of the talks are now available on Channel9: There were hundreds of other sessions this week at BUILD, and you can find their videos here: https://channel9.msdn.com/...

What’s New For Parallelism in .NET 4.5

.NET 4 and Visual Studio 2010 saw the introduction of a wide range of new support for parallelism: the Task Parallel Library (TPL), Parallel LINQ (PLINQ), new synchronization and coordination primitives and collections (e.g. ConcurrentDictionary), an improved ThreadPool for handling parallel workloads, new debugger windows, new concurrency ...

Quick microbenchmarks in Visual Studio with Code Snippets

Parallelism is all about performance.  After all, in the majority of cases, introducing parallelism into code adds some level of complexity, and the primary reason we’re ok with that additional complexity is because we get great performance enhancements as a result.  As such, as we develop our parallel runtimes and libraries to...

Using Tasks to implement the APM Pattern

Several times recently, folks have asked how to use tasks to implement the APM pattern, otherwise known as the Asynchronous Programming Model pattern, or the IAsyncResult pattern, or the Begin/End pattern.  While moving forward we encourage folks to use a Task-based pattern for exposing asynchronous operation, the APM pattern has been the...

More case studies on .NET 4 parallelism support

When .NET 4 was launched, we blogged about several case studies published regarding usage of .NET 4 to parallelize applications.  Quite recently, several additional case studies have been published.  I love reading these in order to better understand how folks are applying this technology, and parallelism in general, to improve their...

Presentation on TPL Dataflow in financial applications

Matt Davey from Lab49 presented at the Waters North American Trading Architecture Summit April 2011 on using TPL Dataflow in trading solutions.  You can see his slide deck at http://www.slideshare.net/mattdotdavey/waters-north-american-trading-architecture-summit-april-2011. It's awesome to see the technology being used effectively to ...

TPL Dataflow CTP Refresh

Today, we released a new CTP of TPL Dataflow, otherwise known as System.Threading.Tasks.Dataflow.dll.  You can download this as part of the Microsoft Visual Studio Async CTP, which will also install the new C#/Visual Basic support for writing asynchronous methods, or you can install the DLL itself through the installer available on the ...