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 task concurrency 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. |