<i>The evils of threads, and how to replace them with something else to use multi-cores, is very high on the list of blogged about programming topics.</i><p>They may be high on the list of blogged about topics, but in places where performance really matters threads are used more and more.  If you for example look at the article <a href="http://lwn.net/Articles/357658/" rel="nofollow">http://lwn.net/Articles/357658/</a> you'll see that Google uses thousands of threads on 16-32 core machines and in fact is making changes to the Linux kernel to make it support a larger number of threads.