Compartilhar via


Agendador de tarefas (Tempo de Execução de Simultaneidade)

Os tópicos nesta parte da documentação descreve os recursos importantes o agendador de tarefas de tempo de execução de simultaneidade. O agendador de tarefas é útil quando você deseja ajustar o desempenho do código existente que usa o tempo de execução de simultaneidade.

Importante

O agendador de tarefas não está disponível de um aplicativo de Windows Store .Para obter mais informações, consulte Criando operações assíncronas n C++ para aplicativos da Windows Store.

Dica

O tempo de execução de simultaneidade fornece um agendador padrão, e em virtude disso não é necessário criar um relatório em seu aplicativo.Como o agendador de tarefas o ajuda a ajustar o desempenho dos aplicativos, recomendamos que você comece com Biblioteca de padrões paralelos (PPL) ou Biblioteca de Agentes Assíncronos se você é novato em tempo de execução de simultaneidade.

O agendador de tarefas agenda e coordena tarefas em tempo de execução. Uma tarefa é uma unidade de trabalho que executa um trabalho específico. Uma tarefa normalmente pode ser executados em paralelo a outras tarefas. O trabalho executado por itens de grupo de trabalho, os algoritmos paralelos, e os agentes assíncronas são exemplos de tarefas.

O agendador de tarefas gerencia os detalhes relacionados com eficiência a agendar tarefas em computadores que têm vários recursos de computação. O agendador de tarefas também usa os recursos mais recentes do sistema operacional subjacente. Consequentemente, os aplicativos que usam a escala de tempo de execução de simultaneidade automaticamente e melhoram ao hardware que expandiu recursos.

Comparando o Tempo de Execução de Simultaneidade com outros modelos de simultaneidade descreve as diferenças entre mecanismos preventivas e cooperativos de programação. O agendador de tarefas usa a programação cooperativa e um algoritmo de rob junto com o agendador preemptivo do sistema operacional para obter o uso máximo de recursos de processamento.

O tempo de execução de simultaneidade fornece um agendador padrão de modo que você não precise gerenciar detalhes da infraestrutura. Em virtude disso, você normalmente não usa o agendador de tarefas diretamente. No entanto, para atender às necessidades de qualidade de seu aplicativo, você pode usar o agendador de tarefas para fornecer seus próprios agendadores de política do ou de programação associada com tarefas específicas. Por exemplo, suponhamos que você tenha uma rotina paralela de classificação que não dimensões além de quatro processadores. Você pode usar políticas do agendador para criar um agendador que gerencia não mais de quatro tarefas simultâneas. Execute a rotina de classificação neste agendador habilitar outros agendadores ativas para usar todos os outros recursos de processamento.

Tópicos relacionados

Nome

Descrição

Instâncias de agendador

Descreve instâncias do agendador e como usar concurrency::Scheduler e concurrency::CurrentScheduler classifica para gerenciá-los. Use instâncias do agendador quando você quer associar políticas explícitas de programar com tipos específicos de cargas de trabalho.

Políticas de agendador

Descreve a função de políticas do agendador. Use as políticas do agendador quando quiser controlar a estratégia que o agendador usa a gerenciar tarefas.

Grupos de agendas

Descreve a função de grupos da agenda. Grupos de agenda de uso quando você precisar de um alto nível de localidade entre tarefas, por exemplo, quando um grupo de tarefas relacionadas se beneficiar da execução no mesmo nó do processador.

Tarefas leves

Descreve a função de tarefas de peso leve. As tarefas de peso leve são úteis quando se adapta o código existente para usar a funcionalidade de programação de tempo de execução de simultaneidade.

Contextos

Descreve a função de contextos, da função de concurrency::wait , e da classe de concurrency::Context . Use essa funcionalidade quando você precisa do controle sobre quando os contextos bloqueiam, desbloqueiam, e gerenciem, ou quando você deseja habilitar a sobresubscrição em seu aplicativo.

Funções de gerenciamento da memória

Descreve as funções de concurrency::Alloc e de concurrency::Free . Essas funções podem melhorar o desempenho de memória para alocar e liberando memória de uma maneira simultâneo.

Comparando o Tempo de Execução de Simultaneidade com outros modelos de simultaneidade

Descreve as diferenças entre mecanismos preventivas e cooperativos de programação.

Biblioteca de padrões paralelos (PPL)

Descreve como usar vários padrões paralelos, por exemplo, algoritmos paralelos, em seus aplicativos.

Biblioteca de Agentes Assíncronos

Descreve como usar os agentes assíncrona em seus aplicativos.

Tempo de Execução de Simultaneidade

Descreve o tempo de execução de simultaneidade, o que simplifica a programação em paralelo, e contém links para os tópicos relacionados.