Compartilhar via


Windows.System.Threading Namespace

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.