What are threads, and what do they do in the processor?

The core count is the physical number of cores on the CPU die itself, whereas the thread count is the number of individual application threads which can be executing simultaneously on the CPU itself. Without any additional or special hardware, this is equal to the core count. Some processers, however, will have more threads than they have cores.

Some Intel CPUs have a feature called hyperthreading, which allows an operating system to see double the amount of logical cores per physical core. This allows the operating system to schedule and run double the amount of threads simultaneously, so in the case of the CPU I linked to above, there are four physical cores, but eight logical ones (so you can run eight threads simultaneously).

Each individual application running in the operating system is either single-threaded or multi-threaded (think of each thread as a "sub-application"). Single-threaded applications require just one thread to run on the CPU, whereas multi-threaded applications have many sub-threads running simultaneously. Additional cores, or hyper-threading, allow more application threads to simultaneously run at once.

This allows multi-threaded (not single-threaded) applications to run much faster, since more than one thread can run at once on the CPU.


Just a final note, hyperthreading improves the performance of some multithreaded applications specifically optimized for it (since there is still only half the number of physical cores as there are logical). In some various cases, applications may run faster with hyperthreading disabled (although many applications do benefit from it). Regardless of hyperthreading, an increase in the number of physical cores will always benefit multithreaded applications.


A "core" represents an actual physical subset of a processor that can by itself handle processing, whereas a "thread" is how many actual processes the processor can handle at once. Intel has developed a technology they label "hyper-threading" this technique allows for one physical core (which would normally only be able to handle one thread at a time) to now be able to handle two threads simultaneously.

A thread is a task that the processor must handle, for a simple explanation, you can assume that every application you open (such as paint, notepad, media player) has its own thread... now this does not mean you can only open 2 applications at once, simply because the processor and OS work so fast at 'switching threads' to handle the needs of every application that you have open. You will just experience better performance with more cores because now you can dish out all of the work to more core processors.

For example, my work computer has an i7 in it. The i7 has 4 physical cores, but each core can do 'hyper-threading' which allows this processor to handle 8 threads at once. So if I open up the task manager, I will see 8 boxes for processor performance scale.

A general rule of thumb is that more physical cores are better than more threads. So if you were comparing a processors that had 4 cores and 4 threads, would be better than 2 cores 4 threads. But the more threads your processor can handle, the better it will perform while multitasking and for some very intensive applications (video editing, CAD, CAM, Compression, Encryption, etc) will in itself utilize more than one core at a time.

Tags:

Cpu