От:
http://msdn.microsoft.com/en-us/library/ms684259(VS.85).aspx
"Многозадачная операционная система делит доступное время процессора между процессами или потоками, которым это необходимо. Система предназначена для вытесняющей многозадачности; она выделяет интервал времени процессора для каждого выполняемого потока. Текущий исполняемый поток приостанавливается, когда его временной интервал истекает, позволяя запустить другой поток. Когда система переключается с одного потока на другой, она сохраняет контекст прерванного потока и восстанавливает сохраненный контекст следующего потока в очереди.
Длина временного интервала зависит от операционной системы и процессора. Поскольку каждый временной интервал мал (приблизительно 20 миллисекунд), кажется, что одновременно выполняется несколько потоков. Это действительно так в многопроцессорных системах, где исполняемые потоки распределяются между доступными процессорами. Однако при использовании нескольких потоков в приложении необходимо соблюдать осторожность, поскольку при слишком большом количестве потоков производительность системы может снизиться. "
Также проверьте Эта ссылка для того, когда использовать многозадачность
Операционная система решает, когда и как долго будет работать каждый поток. Для операционных систем Microsoft нет способа определить или предсказать, какой поток в каком процессе будет выполняться следующим. Каждый поток также имеет приоритет, с которым он работает. Потоки с более высоким приоритетом имеют тенденцию получать больше времени, чем с более низким. Этот приоритет может быть изменен пользователем или программой. См. эту ссылку для получения дополнительной информации.