For those still scratching their heads and thinking about how to program multi-core processors, Intel released their Threading Building Blocks (TBB) under the GPLv2 License with the runtime exception. So what is TBB? From the website:
IntelÂ® Threading Building Blocks (TBB) offers a rich and complete approach to expressing parallelism in a C++ program. It is a library that helps you leverage multi-core processor performance without having to be a threading expert. Threading Building Blocks is not just a threads-replacement library. It represents a higher-level, task-based parallelism that abstracts platform details and threading mechanism for performance and scalability.
Rumor has it that the open TBB has been built and run successfully on non-Intel processors as well. There is even an O'Reilly Book written by James Reinders, director of business development and chief evangelist for Intel's Software Development Products. Have at it.