每个线程都有一个上下文(CONTEXT),保存在线程的内核对象中。这个上下文反映了线程上一次执行时CPU寄存器的状态。
大约每隔20ms(GetSystemTimeAdjustment函数第二个参数的返回值),Windows都会查看所有当前存在的线程内核对象。在这些对象中,只有一些被认为是可调度的。Windows在可调度的线程内核对象中选择一个,并将上次保存在线程上下文中的值载入CPU寄存器。
这一操作被称为上下文切换(context switch)。
----- 摘自《Windows核心编程第七章》