Partilhar via


Programação com Threads e Assíncrona

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

A sua aplicação pode usar o pool de threads para realizar o trabalho asincronamente em threads paralelos. O pool de threads gerencia um conjunto de threads e usa uma fila para atribuir itens de trabalho a threads à medida que eles ficam disponíveis. O pool de threads é semelhante aos padrões de programação assíncrona disponíveis no Tempo de Execução do Windows porque pode ser usado para realizar 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íncrona 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.

  • Separe 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 criação e destruição de threads. Os recursos aos quais tem acesso permitem otimizar threads em vários núcleos de CPU, equilibrando os recursos dos threads entre aplicativos e quando tarefas em segundo plano estão em execução. Usar o pool de threads interno é conveniente porque você se concentra em escrever 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 Plataforma Universal do Windows (UWP) 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 em C++/CX usando a classe task definida no namespace concurrency em ppltasks.h.
Práticas recomendadas para usar o pool de threads Este tópico descreve as práticas recomendadas para trabalhar com o conjunto de threads.
Chamar APIs assíncronas em C# ou Visual Basic A Plataforma Universal do Windows (UWP) inclui muitas APIs assíncronas para garantir que seu aplicativo permaneça responsivo quando fizer um trabalho que pode levar muito tempo. Este tópico discute como usar métodos assíncronos da UWP em C# ou 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 trabalhar 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 é executado após o término de um temporizador.