I say that with the qualification that some software isn't, never will be and doesn't benefit from threading. However the vast majority of apps available on Apple platforms use some amount of threading, either by design or via included libraries.
The advent of Snow Leopard (SL) and Grand Central Dispatch (GCD) resulted in improved threading for many apps without a major coding effort for the developers. Of course you need to understand that GCD is just one way to exploit extra execution engines in your hardware. Many of Apples included apps got a significant boost in performance simply the result of SL. Other apps useing various approaches to threading exist. Video processing, Ray Tracing, engineering software and other apps can be heavily threaded. Development tools can often start up multiple instances of a compiler to drastically reduce compile times.
These are heavier uses of threading but most Mac software uses some threading to keep the user interface responsive while things happen in background. For example printing a document can be handled in a thread while the main app continues to function. Like wise with spell cheating and other things that happen concurrently as you create a document.
Quote:
Originally Posted by
zeph 
Specifically, what software out there takes full advantage of multi-threading?
I'm not sure what you mean by full advantage? How an app benefits from threading depends upon a couple of things. For one; each solution to a problem results in a program that may or may not heavily leverage threading. Two; programmer skill is significant here, just because programmer X implements a threaded solution, it doesn't mean programmer Y can't do a better job. Three; even highly threadable problems run into hardware limitations where adding more cores slows down the overall gain significantly. This due to communications and data transfer overhead. Four; one programmer might add one thread to an app and consider it fully threaded, another might add ten to the same app.
In the end what I'm saying is that there is no way to truly define an answer to your question.
Quote:
To my (admittedly limited) knowledge there is very little out there that has been optimized for this.
I believe your choice of words is less than optimal here, as the word optimized implies optimal usage of a capability. I believe this is misguided for one thing you might not be able to ever find the optimal threading implementation for an app. Some problems are almost brain dead easy to thread but even then what does it mean to have an optimal solution.
Quote:
Other than Apple's own software (Logic Pro) I really do not know of any.
The list of software that uses no threading at all is likely tiny compared to apps that leverage two or more threads. Think about your common tools that most user operate these days. Mail programs, word processors, web browsers and many others on everybodies desktop have some threading built in of one sort or another.
Something like some versions of Safari use multiple techniques such as running Flash in a separate process. This to reduce crashing but it also means that flash could be running on a different CPU. WebKit is currently being reworked to support more threading capabilities. Will this result in future versions of Safari using 24 cores efficiently? Probably not but those cores aren't exclusive to Safari anyways.
A few days ago, in another unrelated thread, I mentioned that it was time for the Mini to go quad core. I believe this is the case because it is the best way to support common use cases. For example it is not uncommon for people to have FaceTime, Skype or other video calling program running while doing other things. Some of these programs can take a significant amount of your CPU performance thus extra cores brings you back to parity. Also enhancements to apps means that they can better leverage those cores. Really if you look back to when dual cores where announced people dismiss them as unneeded, yet we saw very rapid adoption once the benefit was seen by users. SL gave Apple the long term infrastructure to make 2+ cores viable. So yeah a minimal of quad cores in a Mini makes sense these days. We simply have another level of expectations.