Parallel Programming in .Net – Resources


Introduction

This may be the first of a series of blog post on Parallel Programming with .Net 4.0. It is a “maybe” at this point in time, in that I intended to get into this topic over the coming weeks, but one never knows what else may crop up.

This started off being a look at the synchronised collections support in .Net 4.0, but I’ve decided that I should include some other topics. The other big inclusions are intended to be:

  • Parallel Looping constructs,
  • Parallel LINQ, which the parallel looping leads into, and
  • The Task Class addition to .Net 4.0 Framework.

When you include those, you pretty much have a Parallel programming .Net 4.0 “in a nutshell”. This series may have the impetus to look into some of the more “esoteric”, “subtle” and all-round deeper issues associated with the development, implementation, testing, and deployment of parallel solutions in .Net. But, wait and see, I could come up with some “gems”, and “pearls of wisdom” on the way.

Resources

This is the start of a list of “good” resources on parallel programming in .Net. I’ll try and post further blog posts on the topic as I find more resources (I’ve some PFD’s salted away on the topic as well I’ll try and dig up).

Parallel Programming with Microsoft .NET This is a MSDN Patterns and Practices publication. It contains very good information on parallel programming.

System.Collections.Concurrent Namespace This is the .Net namespace which contains some very useful “pre- cooked” collections which can be used in concurrent (parallel) programming. My preference is to always look at these collections first, and build my own concurrent collection as a last resort.

System.Threading.Tasks Namespace This is the >net namespace which contains the Task object, and the associated infrastructure built into .Net for running parallel Tasks. Again, my preference is to look here first, and only resort to using the Thread Class as a last resort when things do not fit with supplied .Net support.

Parallel Programming in the .NET Framework This is a “top level” page, which has links to much of the .Net Parallel support.

Threading in C# – Part 5 – Parallel Programming This looks to be very good on LINQ and Parallel aspects which can be invoked in the LINQ context. There is also some details on the Task, and associated .Net Framework classes. I’ll be reading this very carefully (again, it will not for the first time I refer to these pages).

Patterns Of Parallel Programming This is a link to a PFD which contains “much” detail on C# .Net Parallel Programming. I’ve yet to digest this one (118 pages is a bit much for one sitting, I’ll have a couple of “bites at this cherry”).

This is just a start of a list of resources. I’ll post further lists of resources, as I dig into the topics I wish to cover.

, , , , , , ,

  1. #1 by facebook layouts on February 16, 2011 - 8:56 am

    thnx bro

    • #2 by aussiecraig on February 16, 2011 - 7:36 pm

      You’re welcome.
      I’ve been side-tracked by other themes at work, but should get back to this theme real soon.
      I’ve been reading some of the sources, and think the next part in the story will be the Task Class. This class appears to be pivotal to (some of) the C# 4.0 implementations (in parts). I have not formed a definite opinion on this yet.
      Craig

  2. #3 by Robert Rodnguez on February 12, 2011 - 10:50 am

    I’m impressed, I have to say. Really hardly ever do I encounter a weblog that’s both educative and entertaining, and let me inform you, you will have hit the nail on the head. Your concept is outstanding; the difficulty is one thing that not enough individuals are talking intelligently about. I’m very comfortable that I stumbled across this in my seek for one thing relating to this.

  1. Multithreaded Programming in .Net with C# – Aggregated Exceptions « Craig's Eclectic Blog

Leave a comment