Неотъемлемый атрибут потоков —
переключение контекста
(context switching) — вызывает порой затруднения, поэтому позвольте мне привести его краткий обзор.
Процессор с помощью аппаратного таймера определяет момент окончания кванта, выделенного для данного потока. Когда аппаратный таймер генерирует прерывание, процессор сохраняет в стеке содержимое всех регистров для данного потока. Затем процессор перемещает содержимое этих же регистров в структуру данных
CONTEXT.
При необходимости переключения обратно на поток, выполнявшийся прежде, процессор выполняет обратную процедуру и восстанавливает содержимое регистров из структуры
CONTEXT,
ассоциированной с потоком. Весь этот процесс называется переключением контекста.