Compartilhar via


Threading e programação assíncrona

O threading e a programação assíncrona permitem que seu aplicativo realize o trabalho de forma assíncrona em threads paralelos.

Seu aplicativo pode usar o pool de threads para executar tarefas de forma assíncrona em threads paralelos. O pool de threads gerencia um conjunto de threads e usa uma fila para atribuir itens de trabalho a threads conforme eles ficam disponíveis. O pool de threads é semelhante aos padrões de programação assíncronos disponíveis no Windows Runtime porque ele pode ser usado para realizar um trabalho estendido sem bloquear a interface do usuário, mas o pool de threads oferece mais controle do que os padrões de programação assíncronos e você pode usá-lo para concluir vários itens de trabalho em paralelo. Você pode usar o pool de threads para:

  • Envie itens de trabalho, controle sua prioridade e cancele itens de trabalho.

  • Agende itens de trabalho usando temporizadores e temporizadores periódicos.

  • Reserve recursos para itens de trabalho críticos.

  • Execute itens de trabalho em resposta a eventos nomeados e semáforos.

O pool de threads é mais eficiente no gerenciamento de threads porque reduz a sobrecarga de criar e destruir threads. Isso significa que ele tem acesso para otimizar threads em vários núcleos de CPU e pode equilibrar os recursos de thread entre aplicativos e quando as tarefas em segundo plano estão em execução. Usar o pool de threads interno é conveniente porque você se concentra na escrita de código que realiza uma tarefa em vez da mecânica do gerenciamento de threads.

Tópico Descrição
programação assíncrona (aplicativos UWP) Este tópico descreve a programação assíncrona na UWP (Plataforma Universal do Windows) e sua representação em C#, Microsoft Visual Basic .NET, extensões de componente do Visual C++ (C++/CX) e JavaScript.
programação assíncrona em C++/CX (aplicativos UWP) Este artigo descreve a maneira recomendada de consumir métodos assíncronos no C++/CX usando a classe task definida no namespace concurrency em ppltasks.h.
Práticas recomendadas para usar o thread pool Este tópico descreve as melhores práticas para trabalhar com o pool de threads.
Chamar APIs assíncronas no C# ou no Visual Basic A UWP (Plataforma Universal do Windows) inclui muitas APIs assíncronas para garantir que seu aplicativo permaneça responsivo quando ele funciona, o que pode levar um longo período de tempo. Este tópico discute como usar métodos assíncronos da UWP no C# ou no Microsoft Visual Basic.
Criar um item de trabalho periódico Saiba como criar um item de trabalho que se repete periodicamente.
Enviar um item de trabalho para o pool de threads Saiba como fazer o trabalho em um thread separado enviando um item de trabalho para o pool de threads.
Usar um temporizador para enviar um item de trabalho Saiba como criar um item de trabalho que executa depois que o temporizador expira.