A CPU thread is a virtual central processing unit (CPU) core. A CPU may have one or more physical cores to perform tasks at a given time. A CPU with hyper-threading technology (used by Intel CPUs) or simultaneous multithreading or SMT (used by AMD CPUs) has extra hardware (i.e. registers and execution units) within each core to store the state of two threads while working on both of them simultaneously. A CPU without hyper-threading technology can only work on one thread per core, but a CPU with hyper-threading or SMT can work on up to two threads per core. That’s why a thread is sometimes referred to as a virtual CPU core.
These software tasks or commands are scheduled by an operating system (OS) which may have many threads to run at a given time, but the CPU can only run a number of tasks at a given time which is equal to number cores times the number of hardware threads per core. The rest of the tasks would have to wait for the OS to schedule them later when the resource is available.
« Back to Definition Index