ThreadPool.SetMaxThreads(Int32, Int32) Método
Definição
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.
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.