.NET Parallel Programming

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

F# and the Task Parallel Library

Over on his blog, Don Syme has a post about F# and Parallel Extensions: "Over the coming year I expect we'll be seeing this library used very widely from F#, and we'll eventually be using the TPL as a key underlying technology for F# asynchronous workflows. TPL excels at CPU-intensive parallelism and exploiting multiple cores, ...

LINQ 101, “Parallelism Blockers,” and PLINQ

PLINQ is a very cool technology, and I believe it will prove useful for parallelizing operations in a wide range of important scenarios.  Moreover, I believe that the programming model it provides will enable a wide-range of developers to easily take advantage of concurrency in their applications.  However, one of the risks ...

Another Parallel Extensions screencast

Daniel Moth is on a roll.  Two weeks ago he created three great overview screencasts for Parallel Extensions to the .NET Framework.  Today, he released a fourth video, covering the Task and TaskManager classes.  Thanks, Daniel!  We'll get this added to the MSDN Parallel Computing developer center soon, but in the meantime, ...

Code Snippets for Parallel.For and Parallel.ForEach

Introduced in Visual Studio 2005, Code Snippets allow you to quickly insert reusable blocks of code into your project.  For example, if you want to quickly write a for loop in C#, you can simply type "for" into your code file, and IntelliSense shows you the "for" code snippet: (image) Now you press the tab key twice, and ...

Parallel Extensions and Silverlight 2.0

From time to time, we get a question about whether we intend for Parallel Extensions to target Silverlight.  The simple answer is: Not Yet.Here’s a more complete answer: Not for Silverlight 2.0, at least.  Rich Lander from the CLR team described the Silverlight compatibility story very nicely over on his blog.  I will ...

Give Feedback Through the Connect site

Have you found any bugs, unknown issues (vs. known issues), or any wish list items?  Go to our Connect site, sign up for the Parallel Extensions to the .NET Framework connection, and start giving us direct feedback.   While the blog comments and forums are a great way to raise concerns, ask how-to questions, and engage in a ...

MSDN Forums

There are some great discussions going on over at the Parallel Extensions forum on MSDN.  Download the CTP, try out the bits, head on over to the forums, and get involved!  We'd love to hear from you...

Chunk partitioning vs range partitioning in PLINQ

If you look in the PLINQ samples in the December 2007 CTP, you'll see a parallel implementation of Luke Hoban's LINQ ray tracer.  The sample parallelizes the ray tracer by changing very few lines of code.   Luke's original query started as follows: from y in Enumerable.Range(0, screenHeight)For our sample, we've changed that to...