Lots of interesting comments here, you guys are really knowledgeable.
I found multithreaded programming very hard, even using libraries intended to help (TBB / Boost). But then, I am no professional.
Here's how i look at multithreading and its limitations, please correct me if i'm wrong...