I came across a very good tutorial to pthreads library. It is a really simple explanation with a few well-written and well-commented examples which show you the concepts. I now think I have enough to take a crack(my first) at multi-threaded programming.
I have a design paradigm in mind to solve the nasty things associated with parallel programming. I am pretty sure that I can solve the easy ones like WAW,RAW,WAR hazards with it. I am reasonably sure that it leads to no deadlocks and live-locks either. Resource starvation? priority inversion? Hopefully not. Race condition? That's a problem that will have to be solved by careful design. But I guess there's only one way to find out.