Multi-threading for every day desktop use is a joke at the moment, it's a flawed technology that even the best programmers/engineers have trouble with so don't expect to see a thing out of that movement until hardware advance's enough to alleviate some of the drawbacks.
As a programmer I feel I have some credibility to weigh in here...the flaw is not in the technology IMO. Rather, the flaw is in the economic incentives in the programming industry itself when it comes to software.
On the desktop can you name one program other than file compression (winzip, winrar, 7zip, etc) that is actually competing in terms of performance for your dollars?
How many programmers out there are facing a situation where they either invest in developing seriously multithreaded apps or risk facing losing customers?
I can't think of any, not in the mainstream market segment, outside of file compression and file compression is the epitome of a niche software application.
So why would any software company being managed by decision makers (not programmers) decide to increase the budget and spend more money on programmers to develop even better multithreaded software? Where is the ROI in that?
People who buy Adobe photoshop are going to buy it regardless whether it is fully multithreaded or just partially multithreaded. So the economic incentive for Adobe to fund the project of creating the next version of photoshop is basically to target a slight token improvement in multithreaded performance and push it out the door because they know people will buy it regardless the performance.
Even programs that are heavily multithreaded like povray and TMPGenc you are looking at customers basing their purchasing decisions not on performance but on feature set and capability.
I buy TMPGEnc not for its multithreaded performance but for its ease of use and uncompromised capability in extracting very good image quality at very low bitrates. I don't know a single person who prioritizes transcoding speed over transcoding quality when it comes time to open their wallet and buy the software.
And that, in a nutshell, is why I beleive the situation with multithreaded apps in the consumer space is what it is.
Consumers don't base software purchasing decisions on the performance of that software, they base their software purchasing decisions on the capability of that software.
Even in gaming, I doubt you will find a single gamer who wanted to buy BF3 but chose not to because BF3 wasn't multithreaded enough. If they wanted BF3 then they bought it (or stole it, but that's a different discussion) and if they didn't get the FPS they want then they upgraded the hardware until they were happy with the final result.
So if you are a software project manager what are you going to do when it comes to making decisions on how to invest your limited project development dollars? Are you going to tell your programmers to go after better multithreaded performance or are you going to tell them to make sure they include feature XYZ, regardless how slow or fast that feature ends up being, so that the customer decides to buy the software?