Thread Scheduling
A preemptive, multitasking operating system must use some type of formal process to determine which threads should run and for how long. The algorithms Windows uses to determine when a thread gets scheduled aren't always well documented, but Microsoft has designed them to be as fair and as generally applicable as possible. Below, I'll document how a few of these algorithms work; just understand that future versions of Windows may alter them significantly.
Before we go any further, I should stop and point out that SQL Server does not use the Windows scheduler and the scheduling APIs as you might expect. That's because it handles most of its thread scheduling needs itself via its UMS component. One noteworthy side effect of this ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access