Even when those get released hardly any (if none at all) applications will be able to utilize 8 cores, currently there are'nt too many that can utilize 4 cores..... Most Processor intensive apps are just getting into using the ability to use two processors....
From my understanding (correct where necessary): Mac OS X has the ability to juggle single-threaded applications between processors. As in, while running multiple single processor apps, they will run on different cores. However, contrary to what
marioman38 says, a lot more apps are multi-threaded than you would think, and Mac OS X has the ability to juggle threads between different processors, in fact I would go so far as to say most Mac apps are.
If you go to Applications -> Utilities -> Activity Monitor, that program will to reveal to you how many threads each program you are currently running has. You'll find few that are single threaded.
Now, granted, most apps do not need to run on several processors, so Mac OS X will not in most cases unless it is absolutely necessary for some reason, because it would have to share information between processors, and that be slower than running them in one, in some cases.
According to
this document, Mac OS X implements POSIX threads using true kernel threads (the kind that can be distributed amongst several cores) rather than user threads, so each thread can be scheduled independently for maximum efficiency.
I'm not sure what the story on Windows is.