Tarefas leves
Este documento descreve a função de tarefas de peso leve em tempo de execução de simultaneidade. Uma tarefa de peso leve é uma tarefa que você agende diretamente de um objeto de concurrency::Scheduler ou de concurrency::ScheduleGroup . Uma tarefa de peso leve é semelhante à função que você fornece a API do windows CreateThread a função. Em virtude disso, 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. O tempo de execução próprio de simultaneidade usa tarefas de peso leve programar agentes assíncronas e enviar mensagens entre blocos assíncronas da mensagem.
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.
As tarefas de peso leve levam menos sobrecarga de agentes assíncronas e grupos de trabalho. Por exemplo, o tempo de execução não o informa quando uma tarefa superficial é concluída. Além disso, o tempo de execução não captura nem controla as exceções emitidas de uma tarefa de peso leve. Para obter mais informações sobre a manipulação de exceções e tarefas de peso leve, consulte Tratamento de exceções no tempo de execução de simultaneidade.
Para a maioria das tarefas, recomendamos que você use uma funcionalidade mais robusta como grupos de trabalho e algoritmos paralelos porque permitem mais facilmente interromper tarefas mais complexas em básicas. Para obter mais informações sobre grupos de trabalho, consulte Paralelismo de tarefa (tempo de execução de simultaneidade). Para obter mais informações sobre algoritmos paralelos, consulte Algoritmos paralelos.
Para criar uma tarefa de peso leve, chame concurrency::ScheduleGroup::ScheduleTask, concurrency::CurrentScheduler::ScheduleTask, ou o método de concurrency::Scheduler::ScheduleTask . Para esperar uma tarefa de peso leve concluir, aguarda o agendador pai para fechar ou usar um mecanismo de sincronização como um objeto de concurrency::event .
Exemplo
Para obter um exemplo que demonstra como adaptar o código existente para usar uma tarefa superficial, considere Instruções passo a passo: adaptando um código existente para usar tarefas leves.
Consulte também
Tarefas
Instruções passo a passo: adaptando um código existente para usar tarefas leves