Showing tag results for Code Samples

Jun 6, 2009
Post comments count0
Post likes count0

Achieving Speedups with Small Parallel Loop Bodies

Stephen Toub - MSFT
Stephen Toub - MSFT

The Parallel class represents a significant advancement in parallelizing managed loops.  For many common scenarios, it just works, resulting in terrific speedups.  However, while ideally Parallel.For could be all things to all people, such things rarely work out, and we’ve had to prioritize certain scenarios over others.One area Par...

.NET Parallel Programming
Jun 3, 2009
Post comments count0
Post likes count0

Mechanisms for Creating Tasks

Stephen Toub - MSFT
Stephen Toub - MSFT

The core entity in the Task Parallel Library around which everything else revolves is System.Threading.Tasks.Task.  The most common way of creating a Task will be through the StartNew method on the TaskFactory class, a default instance of which is exposed through a static property on Task, e.g. var t = Task.Factory.StartNew(() => {  &n...

.NET Parallel Programming
Jun 2, 2009
Post comments count2
Post likes count2

The Nature of TaskCompletionSource

Stephen Toub - MSFT
Stephen Toub - MSFT

The Task Parallel Library is centered around the Task class and its derived Task<TResult>. The main purpose of these types is to represent the execution of an asynchronous workload and to provide an object with a means to operate on that workload, whether it be to wait for it, to continue from it, or the like. The primary type of asynchronous...

.NET Parallel Programming
Jun 1, 2009
Post comments count0
Post likes count0

Tasks and Unhandled Exceptions

Stephen Toub - MSFT
Stephen Toub - MSFT

Prior to the .NET Framework 2.0, unhandled exceptions were largely ignored by the runtime.  For example, if a work item queued to the ThreadPool threw an exception that went unhandled by that work item, the ThreadPool would eat that exception and continue on its merry way.  Similarly, if a finalizer running on the finalizer thread threw a...

.NET Parallel Programming
May 26, 2009
Post comments count0
Post likes count1

Does Parallel.For use one Task per iteration?

Stephen Toub - MSFT
Stephen Toub - MSFT

In .NET 4, the new Parallel class provides For, ForEach, and Invoke methods for performing operations in parallel. One mental model that some folks use when thinking about Parallel.For is that it’s equivalent to running one System.Threading.Tasks.Task per iteration, e.g. that a loop like: Parallel.For(0, N, i => {   &n...

.NET Parallel Programming
May 20, 2009
Post comments count2
Post likes count0

Samples for Parallel Programming with the .NET Framework 4

Stephen Toub - MSFT
Stephen Toub - MSFT

Along with the release of the .NET Framework 4 Beta 1, we've just published a slew of samples that demonstrate using Parallel Extensions in a variety of ways.  You can download these from Code Gallery at https://code.msdn.microsoft.com/ParExtSamples.These samples include raytracers, a sudoku game, an image colorization algorithm, solvers for t...

.NET Parallel Programming
Feb 19, 2009
Post comments count0
Post likes count0

Getting random numbers in a thread-safe way

Stephen Toub - MSFT
Stephen Toub - MSFT

It’s very common in a parallel application to need random numbers for this or that operation.  For situations where random numbers don’t need to be cryptographically-strong, the System.Random class is typically a fast-enough mechanism for generating values that are good-enough.  However, effectively utilizing Random in a paral...

.NET Parallel Programming
Oct 28, 2008
Post comments count0
Post likes count0

Concurrent, Multi-core Programming on Windows and .NET

Stephen Toub - MSFT
Stephen Toub - MSFT

Thanks to everyone who attended our PDC pre-conference session yesterday on parallelism and concurrency!  We had a wonderful turnout at the event, and David, Joe, and I all had a terrific time. Attached to this post are the slides we presented. (It turns out that the PDC site does allow you to submit an evaluation for a precon.  If you at...

.NET Parallel Programming
Aug 7, 2008
Post comments count0
Post likes count0

ParallelWhileNotEmpty

Stephen Toub - MSFT
Stephen Toub - MSFT

Parallel Extensions includes the System.Threading.Parallel class, which provides several high-level loop replacement constructs like For and ForEach. In previous blog posts, we've taken a look at implementing other loops, such as for loops with arbitrary initialization, conditional, and update logic, range-based loops, and a parallel while.  T...

.NET Parallel Programming
Jun 11, 2008
Post comments count0
Post likes count0

Parallel Extensions Demo Fun on Channel 9

Stephen Toub - MSFT
Stephen Toub - MSFT

When I was at TechEd 2008 Developer last week, I met up with the great Dan Fernandez from Channel 9 to show off Parallel Extensions and to demonstrate some of the sample applications included with our June 2008 CTP.  The cameras were at the ready, so you can see the demonstrations, too: Thanks, Dan!

.NET Parallel Programming