Parallel Programming – get started

I have been coding for 5 years; mostly in web-based applications. And i work on serial programming; sometimes with a bit parallel: asynchronous model. Honestly speaking, my experience with multithreaded, parallel is zero. Which is bad 🙁 I know for sure what the multi threading programming is; in a basic level of awareness. That is quite a poor story of 5 year-experienced  developer.

For the past couple of days; maybe a week; i decided to take a deeper look at the topic: Multi threading, parallel programming. Having googling “Multi threading, parallel programming Google gave me thousands of links. Picked up some, read some on MSDN. And i got loss 🙁 I found some links about parallel programming in new .NET 4.0. There are books about it. Reading one of them, and again i got loss twice 🙁

OK then i realized that i had no basic knowledge about it. So how can i read  the API in .NET 4.0? Impossible! Even though i can use them, i cannot get them in mind. I decided: back to the basic. I got this book: Art of Concurrency. I scheduled for a future post about the review of the book. At first impression, it is really useful.

Here is my approach for overcoming Parallel Programming:

  1. Acknowledge the basic: by finishing the Art of Concurrency book.
  2. How it is implemented before the .NET 4.0: ask Google again.
  3. .NET 4.0: Patterns of Parallel Programming book.
  4. Write some code along the way of course.

As many other programming tools, techniques, what i really care about are:

  1. What is it?
  2. When to apply it?
  3. How to do it?
  4. How to test it? Usually unit test at first step
  5. How to debug it? Of course in case of bug.
  6. How to measure its performance comparing to the serial one?

Updated:

A sort comment about the Art of Concurrency. Honestly i cannot finish the book all 🙁 There are so many useful theories and examples. However my purpose is to get the idea of the Concurrency, Parallel. The first 4 chapters satisfy my needs. For me it is enough to move on with specific code in .NET framework.

Write a Comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.