A dual core CPU would be a fair idea for a multithreaded application, however how efficient is the multithreaded code of the application? if its poor i.e. does not multithread extremely well then I would get a high speed single core processor. As it has some multithreading support I would actually recommend a Pentium 4 processor with HyperThreading Technology like the 670. My reasoning behind this is because the 670 is far faster than the 3.2 840 Dual core (600MHz faster in core clock speeds) so it can process data faster if it is executed on a single core. When heavy multithreading stuff comes into play then there will be a turn in the tides. The 3.8 is a very good processor and because of the clock speed boost I would choose it for an application over the 840 unless it could execute efficiently on 2 physical cores, HT does come into play here as it can help with multithreaded stuff
For the AMD side a 4000+ would be a very good choice as would a 3700+ or an FX series processor, but they can't multi-task as well as Intel processors that process the same amount of data as them.