Given that applications must be written to take advantage of multiple cores, I know that Photoshop will take advantage of extra cores but I am not sure which other applications are optimized for multiple cores/threads. Where can I get this information for specific applications? Also, when multiple applications are being run simultaneously (possibly by different users) how are cores allocated? I would assume that first each application and/or user would be allocated a core/thread if available and then any application which could take advantage of multiple cores/threads would be allocated additional cores until all resources have been allocated. Correct? If so, what happens if there are not enough cores/threads and some must be shared?
Thanks in advance for any insights.
It is a bit more complicated than that. I don't know precisely what strategy MacOS X uses. This has been an active area of research in computer science for 40 years or so. There isn't a cut and dried answer. It depends.
Here is a brief introduction: http://reviews.cnet.com/8301-13727_7-20048484-263.html
Here are even more details: http://osxbook.com