I've been reading around, trying to learn about multithreaded programming. First major lesson, when you're talking threads, you're probably talking POSIX threads, or Pthreads. There are books of course, but I am not ready for that much detail. Here are some online resources which I have found helpful for the beginner:
Introduction to Parallel Computing tutorial by Blaise Barney, Livermore Computing.
POSIX Thread Programming tutorial by Blaise Barney, Livermore Computing
When I started looking into the POSIX standard for threads, I got a little confused about all the different standards groups attached to this thing. Then it became apparent that the POSIX standard encompasses a whole lot more than pthreads. It's nothing less than the UNIX specification, apparently. The POSIX FAQ helped me to sort it out.