.NET Parallel Programming

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

What’s new in Beta 1 for Parallel LINQ (PLINQ)?

A number of improvements have been made to Parallel Extensions since the Visual Studio 2010 CTP across the Task Parallel Library (TPL), Parallel LINQ (PLINQ), and our coordination data structures.  You can find the latest on TPL (1 2 3) and the data structures (link) on this blog.  Here are the big changes to PLINQ since that CTP...

What’s new in Beta 1 for the Task Parallel Library? (Part 3/3)

Related posts: So what else is new in TPL for Beta 1 (finally)?  In the last post, we mentioned that TaskFactory offers more static helper methods than just StartNew.  In this post, we’ll cover those methods (FromAsync, ContinueWhenAll, and ContinueWhenAny) as well as the new TaskScheduler class.FromAsyncIn order to better to ...

What’s new in Beta 1 for the Task Parallel Library? (Part 2/3)

Related Posts: Last week we talked about changes under the covers, redesigns in System.Threading.Parallel, and using CancellationTokens.  So what else is new in TPL for Beta 1?  In this post, we’ll cover the new TaskFactory class, the plight of Future<T> (Task<TResult>), and TaskCompletionSource<TResult>....

Do you use LazyInitMode.AllowMultipleExecution?

In an effort to release simple, streamlined APIs, we spend a lot of time poring over every aspect of our types.One of the types that we know is getting used a lot both internally and externally is LazyInit<T>.  One of LazyInit<T>’s constructors takes in a LazyInitMode enum which allows you to initialize a value in one of...