Compartilhar via


ThreadPool.SetMaxThreads(Int32, Int32) Método

Definição

Define o número de solicitações para o pool de threads que podem estar ativas simultaneamente. Todas as solicitações acima desse número permanecem na fila até que os threads do pool de threads se tornem disponíveis.

public:
 static bool SetMaxThreads(int workerThreads, int completionPortThreads);
public static bool SetMaxThreads (int workerThreads, int completionPortThreads);
static member SetMaxThreads : int * int -> bool
Public Shared Function SetMaxThreads (workerThreads As Integer, completionPortThreads As Integer) As Boolean

Parâmetros

workerThreads
Int32

O número máximo de threads de trabalho no pool de threads.

completionPortThreads
Int32

O número máximo de threads de E/S assíncronas no pool de threads.

Retornos

true se a alteração for bem-sucedida; caso contrário, false.

Comentários

Não há suporte para esse método quando o pool de threads do Windows está configurado para ser usado em vez do pool de threads do .NET. Para obter mais informações, consulte a configuração do pool de threads do Windows.

Você não pode definir o número máximo de threads de trabalho ou threads de conclusão de E/S para um número menor que o número de processadores no computador. Para determinar quantos processadores estão presentes, recupere o valor da Environment.ProcessorCount propriedade . Além disso, você não pode definir o número máximo de threads de trabalho ou threads de conclusão de E/S para um número menor que o número mínimo correspondente de threads de trabalho ou threads de conclusão de E/S. Para determinar o tamanho mínimo do pool de threads, chame o GetMinThreads método .

Se o Common Language Runtime estiver hospedado, por exemplo, pelos Serviços de Informações da Internet (IIS) ou PELO SQL Server, o host poderá limitar ou impedir alterações no tamanho do pool de threads.

Tenha cuidado ao alterar o número máximo de threads no pool de threads. Embora seu código possa se beneficiar, as alterações podem ter um efeito adverso nas bibliotecas de código que você usa.

Definir o tamanho do pool de threads muito grande pode causar problemas de desempenho. Se muitos threads estiverem sendo executados ao mesmo tempo, a sobrecarga de alternância de tarefas se tornará um fator significativo.

Observação

O pool de threads pode ter limites superiores para as contagens máximas de threads (como short.MaxValue, dependendo da implementação). Os valores de argumento são limitados ao limite superior, portanto, mesmo quando o método retorna true, o máximo real de contagens de threads pode ser menor do que o solicitado.

Aplica-se a

Confira também