expert

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.

View all labs

Official 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

  1. 1Threads move between waiting, ready, and running states.
  2. 2Priority and quantum influence how often a thread is selected.
  3. 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.

Related topics