Windows.System.Threading Namespace
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Permite que um aplicativo use o pool de threads para executar itens de trabalho.
O pool de threads fornece um pool de threads de trabalho que um aplicativo pode usar para itens de trabalho que podem ser executados em paralelo. Usar o pool de threads é mais simples e eficiente do que criar threads individuais, pois o pool de threads gerencia tempos de vida de thread e agenda itens de trabalho quando os threads ficam disponíveis.
Os itens de trabalho são executados de forma assíncrona e podem ser executados em qualquer ordem, portanto, é melhor usar o pool de threads para itens de trabalho que não levam muito tempo e não dependem da saída um do outro. Você cria um item de trabalho chamando o método RunAsync . O item de trabalho é adicionado à fila do pool de threads, onde permanece até que um thread fique disponível. Quando um thread fica disponível, o pool de threads chama o delegado WorkItemHandler associado do item de trabalho e o item de trabalho é executado.
O pool de threads agenda um item de trabalho assim que um thread fica disponível, portanto, o item pode ser executado imediatamente. Se você quiser que o item de trabalho seja executado após um determinado período de tempo, use um temporizador. Você cria um temporizador e especifica seu valor de tempo limite chamando o método CreateTimer . O temporizador começa a contagem regressiva assim que é criado, para que você não precise iniciá-lo. Quando o temporizador expira, o pool de threads chama o delegado TimerElapsedHandler do temporizador .
Se você quiser executar um item de trabalho mais de uma vez em um intervalo regular, use o método CreatePeriodicTimer para criar um temporizador periódico. Um temporizador periódico é redefinido sempre que expira e permanece ativo até que você o cancele.
Se você quiser que um item de trabalho aguarde até que um evento ou semáforo seja sinalizado ou se quiser criar um item de trabalho pré-alocado, consulte Windows.System.Threading.Core.
Por exemplo, código que demonstra como usar o pool de threads, consulte o Exemplo do Pool de Threads.
Observação
Há suporte para a API do ThreadPool para desktop, bem como para aplicativos UWP.
Classes
ThreadPool |
Fornece acesso ao pool de threads. Consulte Threading e programação assíncrona para obter diretrizes detalhadas sobre como usar o pool de threads:
Observação Há suporte para a API do ThreadPool para desktop, bem como para aplicativos UWP. |
ThreadPoolTimer |
Representa um temporizador criado com CreateTimer ou CreatePeriodicTimer. Observação Há suporte para a API do ThreadPool para desktop, bem como para aplicativos UWP. |
Enumerações
WorkItemOptions |
Especifica como os itens de trabalho devem ser executados. |
WorkItemPriority |
Especifica a prioridade de um item de trabalho em relação a outros itens de trabalho no pool de threads. |
Delegados
TimerDestroyedHandler |
Representa um método chamado quando um temporizador criado com CreateTimer ou CreatePeriodicTimer é concluído. |
TimerElapsedHandler |
Representa um método chamado quando um temporizador criado com CreateTimer ou CreatePeriodicTimer expira. |
WorkItemHandler |
Representa um método chamado quando um item de trabalho é executado. |