More on multi-threaded programming models:
Tim Sweeney resumes:
“You can expect games to take advantage of multi-core pretty thoroughly in late 2006 as games and engines also targeting next-generation consoles start making their way onto the PC.
Writing multithreaded software is very hard; it's about as unnatural to support multithreading in C++ as it was to write object-oriented software in assembly language. The whole industry is starting to do it now, but it's pretty clear that a new programming model is needed if we're going to scale to ever more parallel architectures. I have been doing a lot of R&D along these lines, but it's going slowly.”
http://www.anandtech.com/cpuchipsets/showdoc.aspx?i=2377&p=4
I've posted previously on multi threaded programming under Java 1.5. The programming model is pretty powerful and worth investigating even now for Hyperthreaded CPUs