Showing tag results for Parallel Extensions

Apr 12, 2012
Post comments count0
Post likes count0

Are deadlocks still possible with await?

Stephen Toub - MSFT

Developers familiar with parallel programming are also familiar with a wide range of potential problems that can occur when practicing the art.  One of the most well-known issues is “deadlock,” where two or more operations are waiting on each other to complete in a manner such that none of them will be able to complete.I’ve r...

.NET Parallel Programming
Apr 6, 2012
Post comments count0
Post likes count0

Overriding Stream Asynchrony

Stephen Toub - MSFT

In .NET 4.5 Beta, the Stream class provides multiple virtual methods related to reading and writing: As a developer deriving from Stream, it’s helpful to understand what the base implementations do and when you can and should override them.Read, Write, FlushThe Read, Write, and Flush methods are the core synchronous mechanisms...

.NET Parallel Programming
Mar 25, 2012
Post comments count0
Post likes count2

Do I need to dispose of Tasks?

Stephen Toub - MSFT

I get this question a lot: “Task implements IDisposable and exposes a Dispose method.  Does that mean I should dispose of all of my tasks?” SummaryHere’s my short answer to this question: “No.  Don’t bother disposing of your tasks.”Here’s my medium-length answer: “No.  Don&rsquo...

.NET Parallel Programming
Mar 14, 2012
Post comments count0
Post likes count1

Is it ok to use nested Parallel.For loops?

Stephen Toub - MSFT

Every now and then, I get this question: “is it ok to use nested Parallel.For loops?” The short answer is “yes.”  As is often the case, the longer answer is, well, longer. Typically when folks ask this question, they’re concerned about one of two things.  First, they’re concerned that each nested loop will assume it “owns the machine” and will thu...

.NET Parallel Programming
Mar 6, 2012
Post comments count0
Post likes count0

Are you using TPL Dataflow? We’d love to know!

Stephen Toub - MSFT

Are you using the new System.Threading.Tasks.Dataflow.dll library, either from its CTPs or from the .NET 4.5 Developer Preview or Beta?  We'd love to hear about it, and if you have time, what your experiences have been (good or bad).  What kind of solution are you building, and how are you using TPL Dataflow in it?  Has the library h...

.NET Parallel Programming
Mar 5, 2012
Post comments count2
Post likes count2

Implementing a simple ForEachAsync, part 2

Stephen Toub - MSFT

After my previous post, I received several emails and comments from folks asking why I chose to implement ForEachAsync the way I did.  My goal with that post wasn’t to prescribe a particular approach to iteration, but rather to answer a question I’d received… obviously, however, I didn’t provide enough background. Let ...

.NET Parallel Programming
Mar 4, 2012
Post comments count0
Post likes count1

Implementing a simple ForEachAsync

Stephen Toub - MSFT

Jon Skeet recently asked me how I might go about implementing the following “asynchronous ForEach” behavior: Given what we now know about SemaphoreSlim from my previous post, here’s one way to achieve this: public static Task ForEachAsync<TSource, TResult>(     this IEnumerable<TSource> ...

.NET Parallel Programming
Mar 3, 2012
Post comments count0
Post likes count0

“The Zen of Async” at the MVP Summit 2012

Stephen Toub - MSFT

Thanks to everyone who attended my "The Zen of Async" presentation on Thursday at the MVP Summit.  As I've had several requests, here are the slides and code for the talk. Toub_MVPSummit2012_ZenOfAsync.zip

.NET Parallel Programming
Feb 29, 2012
Post comments count0
Post likes count0

What’s New for Parallelism in .NET 4.5 Beta

Stephen Toub - MSFT

At //BUILD/ in September, we blogged about the wealth of new support available for parallelism in the .NET Framework 4.5 Developer Preview.  Since then, we’ve been hard at work on the .NET 4.5 Beta.  With the beta just released, here are a few interesting and related things that are new or have changed since the Developer Preview re...

.NET Parallel Programming
Feb 12, 2012
Post comments count0
Post likes count3

Building Async Coordination Primitives, Part 7: AsyncReaderWriterLock

Stephen Toub - MSFT

In my last past, we looked at building an AsyncLock in terms of an AsyncSemaphore.  In this post, we’ll build a more advanced construct, an asynchronous reader/writer lock.An asynchronous reader/writer lock is more complicated than any of the previous coordination primitives we’ve created.  It also involves more policy, meanin...

.NET Parallel Programming