WaitForSingleObject abre mão de uma fatia de tempo de um thread?

Estou fazendo um programa win32 em C.

Quando você tem vários threads em execução e um deles está aguardando um evento (usandoWaitForSingleObject() por exemplo), esse segmento ainda recebe toda a sua fatia de tempo da CPU?

Em outras palavras, o sistema operacional sabe que o encadeamento não precisa de um intervalo de tempo até que um dos eventos seja sinalizado?

questionAnswers(2)

yourAnswerToTheQuestion