My first job after university involved designing and writing parallel algorithms, and over the intervening 20 years I’ve always taken a keen interest in the subject. I’d always thought that by now, desktop PCs would contain upwards of 32 processors, whereas 2 processors are only just becoming commonplace. At the March 2007 MVP summit, Bill Gates said that parallel programming will be one of the big new challenges facing the .NET development programming community:
“…the ability to take multiple processors and use them in parallel has been a
programming challenge going back many, many decades, so now it’s important
that we actually solve that problem, and make it possible for developers of all
types to take advantage of these multi-core devices.”
May’s 2007 issue of MSDN magazine has an excellent article on Reusable Parallel Data Structures and Algorithms by Joe Duffy, a renowned developer in the .NET threading arena. He has an upcoming book “Concurrent Programming on Windows”, due to be released by Addison Wesley sometime in 2007. One to watch out for…
Over at Michael Suess’s ThinkingParallel blog, he’s been running a series of interviews with parallelism industry leaders in different environments, including Ten Questions with Joe Duffy about Parallel Programming and .NET Threads.
The following are all good resources on how to get started for developers new to .NET threading:
There is also an index of past MSDN Magazine articles on .NET concurrency.