Multithreading for performance not the right solution on multicore
In an article called "Multithreading invites string of nasty bugs, paper argues" in Electronic Engineering Times, Jeff Bier that summarizes academic research: "multithreaded application programming, as commonly practiced, is a flawed methodology that invites a range of nasty, hard-to-identify bugs."
The key problem is summarized as:
thread-based programming has worked reasonably well so far because it has been applied in fairly limited ways and has typically been used on single-core processors, which offer limited parallelism. But as engineers implement more-aggressive multithreading on highly parallel processors, they can expect severe bugs to show up with alarming frequency
Not only do developers need to learn how to take advantage of multicore processors, they need to do it in a Service Oriented Architectures.
PJ Murray
CodeFutures Software