How Many Threads Are in a Core?

A CPU core runs one hardware thread if it has no simultaneous multithreading, and two if it has Intel Hyper-Threading or AMD SMT. Almost every desktop and laptop core today is one of those two cases. A few server designs go further: IBM POWER cores run up to 8 threads each, and Intel Xeon Phi cores ran 4. A quad-core chip therefore has 4 hardware threads without SMT and 8 with it.

The word "thread" means two different things here, and that is why this question is asked so often. A hardware thread is a slot in the core that holds one running instruction stream. A software thread is a sequence of instructions created by a program. A core with 2 hardware threads can still run thousands of software threads by switching between them. It can only execute 2 of them in the same instant.

What simultaneous multithreading does

A core contains several execution units, such as integer units, floating point units, and load and store units. A single instruction stream rarely keeps all of them busy. It stalls while waiting for memory, or while one instruction waits for the result of another.

Simultaneous multithreading (SMT) gives the core a second set of registers and a second program counter. The core fetches instructions from both streams and fills idle execution units with whichever stream has work ready. The operating system sees 2 logical processors. Hyper-Threading is Intel's brand name for the same idea.

The gain is not double. A second hardware thread typically adds 15 to 30 percent throughput on mixed workloads, because both threads share the same execution units and the same level 1 and level 2 caches. On a workload that already saturates the core, the gain can be zero.

Threads per core by processor family

Processor familyThreads per coreNote
Intel Core i7 and i9 desktop, most generations2 on performance coresEfficiency cores on hybrid chips have 1
Intel Core i5 desktop, older generations1Hyper-Threading was left out to separate i5 from i7
Intel Core i5 desktop, recent generations2 on performance cores1 on efficiency cores where present
Intel Core Ultra 200S desktop1Hyper-Threading removed from this design
AMD Ryzen and EPYC2AMD calls it SMT
Apple M series1No SMT at all
IBM POWER9 and POWER10Up to 8Configurable as SMT2, SMT4 or SMT8
Most ARM Cortex cores in phones1A few server ARM designs offer 2 or 4
Intel Xeon Phi4Discontinued

Two worked examples show how the total is built. An i7-12700K has 8 performance cores with Hyper-Threading and 4 efficiency cores without it, so it has 8 x 2 + 4 x 1 = 20 threads. An i5-12400 has 6 performance cores, no efficiency cores, and Hyper-Threading, so it has 12 threads. One older exception is the i7-9700K, which has 8 cores and 8 threads because Intel left Hyper-Threading off that part.

How to check threads per core on your machine

On Linux, lscpu prints the answer directly.

lscpu | grep -E "Thread\(s\) per core|Core\(s\) per socket|^CPU\(s\)" nproc

The first line reads Thread(s) per core: 2 on an SMT machine and 1 otherwise. nproc prints the total number of logical processors.

On Windows, open Task Manager, choose the Performance tab, and select CPU. The panel shows Cores and Logical processors. Divide the second by the first. PowerShell gives the same two numbers.

Get-CimInstance Win32_Processor | Select-Object NumberOfCores, NumberOfLogicalProcessors

On macOS, two sysctl keys give physical and logical counts.

sysctl -n hw.physicalcpu hw.logicalcpu

From inside a program, Runtime.getRuntime().availableProcessors() in Java and os.cpu_count() in Python both return the logical count, not the core count. Inside a container, Java from JDK 10 onward reports the cgroup CPU limit instead of the host count.

When two threads per core help, and when they do not

SMT helps when the two threads stall in different ways. A web server thread waiting on memory and another doing integer work share a core well. Databases, compilers and virtual machine hosts see real gains, which is why almost every server chip has it.

SMT does not help when both threads want the same unit. Two threads of dense floating point math compete for one floating point unit, and each runs at about half speed. Some games and scientific codes run slightly faster with SMT turned off in the BIOS for this reason.

Cloud vCPUs are hardware threads, not cores. A 4 vCPU instance is usually 2 physical cores with SMT on. When you estimate capacity for CPU-bound work, count cores, not vCPUs.

Key Takeaways

  • A core has 1 hardware thread without SMT and 2 with Hyper-Threading or AMD SMT. Some IBM POWER and older Intel server cores have 4 or 8.
  • A core can run thousands of software threads by time-slicing. Only 1 or 2 execute at the same instant.
  • Check with lscpu on Linux, Task Manager or Get-CimInstance Win32_Processor on Windows, and sysctl on macOS.
  • The second thread adds about 15 to 30 percent throughput, not 100 percent.

Grokking Multithreading and Concurrency for Coding Interviews covers how software threads map onto these hardware threads, and how to size a thread pool.

Grokking System Design Fundamentals shows how core and vCPU counts enter a capacity estimate.

Grokking the Coding Interview covers the problem patterns asked alongside concurrency questions.

TAGS
Coding Interview
CONTRIBUTOR
Arslan Ahmad
Arslan Ahmad
ex-FAANG engineering manager and author or Grokking series.

GET YOUR FREE

Coding Questions Catalog

Design Gurus Newsletter - Latest from our Blog
Boost your coding skills with our essential coding questions catalog.
Take a step towards a better tech career now!
Explore Answers
How do I call a parent class's method from a child class in Python?
What is render in React?
What is the optimal algorithm for 2048 game?
What is the hardest part about coding?
What do I use for a max-heap implementation in Python?
What happens at the first Amazon interview?
Related Courses
New
Grokking the AI System Design Interview course cover
Grokking the AI System Design Interview
Learn to design AI systems the way interviewers expect: classic ML products, LLM and RAG architectures, and agentic systems, all through the lens of the system design interview.
4.6
(3,192 learners)
Discounted price for Your Region

$99

Grokking the Coding Interview: Patterns for Coding Questions course cover
Grokking the Coding Interview: Patterns for Coding Questions
The 24 essential patterns behind every coding interview question. Available in Java, Python, JavaScript, C++, C#, and Go. The most comprehensive coding interview course with 543 lessons. A smarter alternative to grinding LeetCode.
4.6
Discounted price for Your Region

$197

Grokking Modern AI Fundamentals course cover
Grokking Modern AI Fundamentals
Master the fundamentals of AI today to lead the tech revolution of tomorrow.
4.1
Discounted price for Your Region

$72

Design Gurus logo
One-Stop Portal For Tech Interviews.
Copyright © 2026 Design Gurus, LLC. All rights reserved.