Compartilhar via


Tarefas leves

Este documento descreve a função das tarefas leves no Runtime de simultaneidade. A tarefa leve é uma tarefa que você agendar diretamente de um Scheduler ou ScheduleGroup objeto. Uma tarefa simples se pareça com a função que você fornece a API do Windows CreateThread função. Portanto, leves tarefas são úteis para a adaptar o código existente para usar a funcionalidade de agendamento do Runtime de simultaneidade. O próprio Runtime de simultaneidade usa leves tarefas para agendar a agentes assíncronos e enviar mensagens entre os blocos de mensagens assíncronas.

Dica

O Runtime de simultaneidade fornece um programador de padrão e, portanto, não é necessário criá-lo em seu aplicativo. Como o Agendador de tarefas Ajuda a ajustar o desempenho de seus aplicativos, recomendamos que você inicie com o Biblioteca paralela de padrões (PPL) ou Biblioteca de agentes assíncronos se você for novo no Runtime de simultaneidade.

Tarefas leves transportar menos sobrecarga do que os agentes assíncronos e grupos de tarefas. Por exemplo, o runtime não informam quando termina a uma tarefa simples. Além disso, o runtime não catch ou manipular exceções lançadas a partir de uma tarefa simples. Para obter mais informações sobre tarefas leves e de manipulação de exceção, consulte O Runtime de simultaneidade de manipulação de exceção.

Para a maioria das tarefas, é recomendável que você usar a funcionalidade mais robusta como, por exemplo, grupos de tarefas e algoritmos paralelos porque eles mais facilmente permitem dividir tarefas complexas os mais básicos. Para obter mais informações sobre grupos de tarefas, consulte Paralelismo de tarefas (Runtime de simultaneidade). Para obter mais informações sobre algoritmos paralelos, consulte Algoritmos paralelos.

Para criar uma tarefa simples, chamar o Concurrency::ScheduleGroup::ScheduleTask, Concurrency::CurrentScheduler::ScheduleTask, ou Concurrency::Scheduler::ScheduleTask método. Para esperar para concluir a tarefa leve, espere o Agendador de pai para desligar ou usar um mecanismo de sincronização, como um Concurrency::event objeto.

Exemplo

Para obter um exemplo que demonstra como adaptar o código existente para uma tarefa simples de usar, consulte Demonstra Passo a passo: Adaptando o código existente para usar tarefas leves.

Consulte também

Conceitos

Agendador de tarefas (Runtime de simultaneidade)

Outros recursos

Demonstra Passo a passo: Adaptando o código existente para usar tarefas leves

Histórico de alterações

Date

History

Motivo

Julho de 2010

Conteúdo reorganizado.

Aprimoramento de informações.