Compartilhar via


Programação threading e assíncrona

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

O aplicativo pode usar o pool de threads para realizar o trabalho 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 à medida que eles se tornam disponíveis. O pool de threads é semelhante aos padrões de programação assíncrona disponíveis no Windows Runtime porque ele pode ser usado para realizar o 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:

  • Enviar itens de trabalho, controlar sua prioridade e cancelar itens de trabalho.

  • Programar itens de trabalho usando timers e temporizadores periódicos.

  • Reserve recursos para itens de trabalho crítico.

  • Os itens de trabalho são executados 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. Isso significa que ele tem acesso para otimizar os threads em vários núcleos de CPU e pode equilibrar os recursos de threads entre os aplicativos e quando as tarefas em segundo plano estão sendo executadas. 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 de 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 taskconcurrency que é definida no namespace em ppltasks.h.
Práticas recomendadas para usar o pool de threads Este tópico descreve práticas recomendadas para trabalhar com o pool de threads.
Chamar APIs assíncronas no Visual Basic ou C# A Plataforma Universal do Windows (UWP) inclui muitas APIs assíncronas para garantir que o seu aplicativo permaneça responsivo ao executar trabalhos demorados. Este tópico descreve 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 periódico que se repete periodicamente.
Enviar um item de trabalho ao pool de threads Aprenda a trabalhar em um thread separado enviando um item de trabalho ao pool de threads.
Usar um temporizador para enviar um item de trabalho Saiba como criar um item de trabalho que seja executado após um temporizador.