multi-threaded programming will be in much better shape (standards wise) in a couple years.
defining this area is one of the bigger changes in the new POSIX, C, and C++ standards that are nearing completion (POSIX is complete, C is expected next year, C++ sometime after that)