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.Sets the number of requests to the thread pool that can be active concurrently. Todas as solicitações acima desse número permanecem na fila até que os threads do pool de threads se tornem disponíveis.All requests above that number remain queued until thread pool threads become available.
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.The maximum number of worker threads in the thread pool.
- completionPortThreads
- Int32
O número máximo de threads de E/S assíncronas no pool de threads.The maximum number of asynchronous I/O threads in the thread pool.
Retornos
true se a alteração for bem-sucedida; caso contrário, false.true if the change is successful; otherwise, false.
Comentários
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 do que o número de processadores no computador.You cannot set the maximum number of worker threads or I/O completion threads to a number smaller than the number of processors on the computer. Para determinar quantos processadores estão presentes, recupere o valor da Environment.ProcessorCount propriedade.To determine how many processors are present, retrieve the value of the Environment.ProcessorCount property. 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 do que o número mínimo correspondente de threads de trabalho ou threads de conclusão de e/s.In addition, you cannot set the maximum number of worker threads or I/O completion threads to a number smaller than the corresponding minimum number of worker threads or I/O completion threads. Para determinar o tamanho mínimo do pool de threads, chame o GetMinThreads método.To determine the minimum thread pool size, call the GetMinThreads method.
Se o Common Language Runtime estiver hospedado, por exemplo, por Serviços de Informações da Internet (IIS) ou SQL Server, o host poderá limitar ou impedir alterações no tamanho do pool de threads.If the common language runtime is hosted, for example by Internet Information Services (IIS) or SQL Server, the host can limit or prevent changes to the thread pool size.
Tenha cuidado ao alterar o número máximo de threads no pool de threads.Use caution when changing the maximum number of threads in the thread pool. Embora seu código possa se beneficiar, as alterações podem ter um efeito adverso nas bibliotecas de código que você usa.While your code might benefit, the changes might have an adverse effect on code libraries you use.
A definição do tamanho do pool de threads muito grande pode causar problemas de desempenho.Setting the thread pool size too large can cause performance problems. Se muitos threads estiverem em execução ao mesmo tempo, a sobrecarga de alternância de tarefas se tornará um fator significativo.If too many threads are executing at the same time, the task switching overhead becomes a significant factor.