ThreadPool.SetMaxThreads(Int32, Int32) Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Define o número de pedidos para o pool de threads que podem estar ativos em simultâneo. Todos os pedidos acima desse número permanecem em fila até que os threads do pool de threads fiquem 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 worker no pool de threads.
- completionPortThreads
- Int32
O número máximo de threads de E/S assíncronas no pool de threads.
Devoluções
true se a alteração for bem-sucedida; caso contrário, false.
Observações
Este método não é suportado quando o pool de threads do Windows está configurado para ser usado em vez do pool de threads .NET. Para mais informações, consulte a definição de configuração do pool de threads Windows.
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 inferior ao número de processadores no computador. Para determinar quantos processadores estão presentes, recupere o valor da Environment.ProcessorCount propriedade. Além disso, não pode definir o número máximo de threads worker ou threads de conclusão de I/O para um número inferior ao número mínimo correspondente de threads worker ou threads de conclusão de I/O. Para determinar o tamanho mínimo do pool de threads, chame o GetMinThreads método.
Se o runtime da linguagem comum for alojado, por exemplo pelo Serviços de Informação Internet (IIS) ou SQL Server, o host pode 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 o seu código possa beneficiar, as alterações podem ter um efeito negativo nas bibliotecas de código que utiliza.
Definir o tamanho do pool de threads demasiado grande pode causar problemas de desempenho. Se demasiadas threads estiverem a executar ao mesmo tempo, a sobrecarga de troca de tarefas torna-se um fator significativo.
Note
O pool de threads pode ter limites superiores para o número máximo de threads (como short.MaxValue, dependendo da implementação). Os valores dos argumentos estão limitados ao limite superior, por isso, mesmo quando o método retorna true, as contagens máximas reais de threads podem ser inferiores ao solicitado.