Browse by Tags
All Tags »
Task Parallel Library (RSS)
It’s awesome to see the Reactive Extensions to .NET (Rx) live on the DevLabs site. If you haven’t checked out this exciting project, we urge you to do so. Not only is it cool and useful technology, but the download includes a back ported (and
Read More...
Related posts: What's new in Beta 2 for the Task Parallel Library? (1/3) What's new in Beta 2 for the Task Parallel Library? (2/3) Last time, we covered Tasks being detached by default and some refactorings in our multiple-Task continuation APIs. The
Read More...
Last week, I had the privilege of touring around Tennessee, Kentucky, Ohio, and Michigan, speaking about the new parallel computing support in Visual Studio 2010 and the .NET Framework 4. Many folks I spoke with were interested in getting a copy of the
Read More...
Related posts: What's new in Beta 2 for the Task Parallel Library (1/3) What's new in Beta 2 for the Task Parallel Library (3/3) Last week, we talked about how TPL adopted a new, better cancellation model. Today, we’ll cover a change that makes Tasks
Read More...
Related posts: What's new in Beta 2 for the Task Parallel Library? (Part 2/3) What's new in Beta 2 for the Task Parallel Library? (Part 3/3) Visual Studio 2010 and .NET 4 Beta 2 is here! In terms of completeness and readiness for production coding, Beta
Read More...
“What does Task.Wait do?” Simple question, right? At a high-level, yes, the method achieves what its name implies, preventing the current thread from making forward progress past the call to Wait until the target Task has completed, one way or another.
Read More...
Common operations like map and filter are available in parallelized form through PLINQ, though the names differ. A map can be achieved with PLINQ’s Select operator, and a filter with PLINQ’s Where operator. For example, I could implement a ParallelMap
Read More...
The Task abstractions in .NET 4 run on instances of the TaskScheduler class. Two implementations of TaskScheduler ship as part of the .NET Framework 4. The first is the default scheduler, which is integrated with the .NET 4 ThreadPool and
Read More...
Every System.Threading.Tasks.Task instance goes through a lifecycle, and it only makes this journey once. To provide insight into where in that lifecycle a given Task is, the Task class provides an instance Status property. That property returns
Read More...
The Parallel class in .NET 4 includes methods that implement three parallel constructs: parallelized for loops (Parallel.For), parallelized foreach loops (Parallel.ForEach), and parallelized statement regions (Parallel.Invoke). One of the interesting
Read More...
In this post, we’ll investigate some ways that Parallel Extensions can be used to introduce parallelism and asynchrony to I/O scenarios. Here’s a simple scenario. I want to retrieve data from a number of web resources. static string[] Resources = new
Read More...
One of the ways in which the Task Parallel Library achieves good performance is through “work-stealing”. Work-stealing is supported in the .NET 4 ThreadPool for access through the Task Parallel Library and its default scheduler. This manifests
Read More...
More and more, developers are realizing the significant scalability advantages that asynchronous programming can provide, especially as it relates to I/O. Consider an application that needs to copy data from one stream to another stream, such as is being
Read More...
In a previous post, it was demonstrated how for loops with very small loop bodies could be parallelized by creating an iterator over ranges, and then using Parallel.ForEach over those ranges. A similar technique can be used to write parallel loops over
Read More...
One of the great features that crosses all of Parallel Extensions types is a consistent approach to cancellation (see http://blogs.msdn.com/pfxteam/archive/2009/05/22/9635790.aspx ). In this post we explore some of the ways cancellation is used in Parallel
Read More...