Partilhar via


Agendamento de threads

Cada thread tem um thread prioridade atribuída a ele.Threads criados dentro do common linguagem tempo de execução são atribuídas inicialmente a prioridade de ThreadPriority.Normal.Threads criados fora o tempo de execução mantém a prioridade que tinham antes que eles inseriram ao ambiente gerenciado.Você pode obter ou conjunto a prioridade de qualquer segmento com o Thread.Priority propriedade .

Segmentos estão programados para execução com base em sua prioridade.Mesmo que os threads estão em execução dentro do tempo de execução, todos os threads são atribuídos frações de time do processador pelo sistema operacional.Os detalhes do algoritmo de programação usada para determinar a ordem na qual segmentos são executados varia de acordo com cada sistema operacional.Em alguns sistemas operacionais, o segmento com a prioridade mais alta (desses threads que podem ser executadas) sempre está programado para ser executado primeiro.Se vários threads com a mesma prioridade estão disponível, o Agendador verificará os threads em que prioridade, dando a cada thread uma fatia de time fixo no qual deseja executar.Desde que esteja disponível para executar um segmento com prioridade mais alta, segmentos de prioridade inferiores não obtiver executar.Quando houver segmentos executáveis não mais em uma determinada prioridade, o Agendador é movido para a próxima prioridade mais baixa e agenda os threads em que prioridade para execução.Se um thread de prioridade mais alto se tornar executável, o thread de prioridade inferior admitir preempção e o thread de prioridade mais alto é permitido executar mais uma vez.Na parte superior da tudo o que o sistema operacional também pode ajustar sistema autônomo prioridades do thread dinamicamente quando uma interface do usuário de aplicativo é movida entre primeiro plano e plano de fundo.Outros sistemas operacionais podem optar por usar um algoritmo de agendamento diferente.

Consulte também

Conceitos

Threading gerenciado e não gerenciado no Microsoft Windows

Outros recursos

Usando threads e Threading