But...I think we've got something confused here.
Threads are not cores. Multi-threading in CPUs and the OS today allows multiple applications, and components of applications to run somewhat simultaneously by making use of additional highways in the hardware. This allows programs such as Trainz, which make use of this technology to split up functions that would otherwise hog resources. A good example of a multiple threaded process is the ability to receive operation messages within the program to allow the AI to function smoother. In older versions, such as TRS2004, the program would stop when an AI message was sent and received. This "stop" was not perceived by us because it happened very quickly. but sometimes a stuck message, can cause a program to perform poorly or hang because the messaging is a queued up behind some other process that hasn't completed yet. By having other threads available, the program can use another track to keep some parts of the program out of the way to allow others to move quickly.
Multiple cores, however, are a different animal. This would be the same as having two or more CPUs on the same die and substrate. In the old days, a system would need two individual processors to be equal to this, which would mean the system draws more power and the would run less efficiently because the busses are not connected directly. They're connected, but the signals have to travel on the circuit board, and are subjected outside interference from other components and signals on the motherboard. In the days of Windows NT 4.0, the OS was capable of handling dual processors, but they both had to be put in the system when the OS was installed, and they had to have come from the same stepping (revision). If the system administrator decided at a later date to install a second processor, they would have to reinstall the OS all over again.
Now keeping all this in mind, not all applications are developed to make use of these other cores. World Builder, 3ds MAX, many other CAD/CAM applications such as Pro/Engineer, many huge database applications, and many, many other engineering applications, that require the extra processing, are written to make use of the extra cores. They use these to offload many operations to almost parallel process and crunch through the data quickly. We are lucky that our desktop operating systems, such as Windows 7 and Windows 8 can handle up to 256 cores. This was never, even thought of before. These additional cores are not available in the home versions of the OSs. They are for the huge enterprise operations. We have to remember that it's up to the hardware vendors, however, to provide the additional CPUs and cores to handle this many processors. Oracle does this with their huge Sun Servers. Now what is interesting is how a vendor can control the number of cores used by a product, and can license or turn on the use of the other cores in the system. Oracle does this with their database appliance or ODA.
John