Scheduling
Dispatcher queues, priorities, and how Windows decides what runs next.
What you should already know
This topic is marked expert. Skim these first if any of them feel unfamiliar.
Related labs
Hands-on exercises for this area — in the browser or on a Windows machine.
Process tree explorer
Walk a sample parent/child tree from System to Explorer and a user app.
Open labOfficial Microsoft docs
Closest official references related to this topic on Microsoft Learn.
Why it matters
Performance complaints, UI freezes, and background activity all become easier to interpret when you understand how Windows schedules threads.
Mental model
The scheduler chooses runnable threads based on priority and state, not based on what the user considers important.
How it works
- 1Threads move between waiting, ready, and running states.
- 2Priority and quantum influence how often a thread is selected.
- 3Certain waits or boosts can temporarily change observed behavior.
Key terms
- Dispatcher
- The scheduler component that tracks runnable threads and dispatch decisions.
- Quantum
- A time slice given to a running thread before it may be preempted.
A UI app that feels frozen
The UI thread may be blocked on I/O or waiting on another object even while CPU usage looks low.
Common misconception
High CPU does not always mean bad scheduling, and low CPU does not always mean responsiveness.
You should read next
Ranked from your current topic, related links, branch depth, and any active guided path.
intermediate
Service hosts
How Windows groups services inside host processes such as svchost.exe.
Next step in your guided path
intermediate
ETW tracing
Real-time sessions, controllers, and consumers for higher-volume tracing.
Related topic
beginner
Memory management
Virtual address spaces, paging, working sets, and how Windows tracks memory.
Related topic