Compartir a través de


ThreadPool.SetMaxThreads(Int32, Int32) Método

Definición

Establece el número de solicitudes al grupo de subprocesos que pueden estar activas al mismo tiempo. Todas las solicitudes que pasen de ese número permanecen en la cola hasta que haya disponibles subprocesos de grupo de subprocesos.

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

Número máximo de subprocesos de trabajo en el grupo de subprocesos.

completionPortThreads
Int32

Número máximo de subprocesos de E/S asincrónicos en el grupo de subprocesos.

Devoluciones

Es true si el cambio se realiza correctamente; en caso contrario, es false.

Comentarios

Este método no se admite cuando el grupo de subprocesos de Windows está configurado para usarse en lugar del grupo de subprocesos de .NET. Para obtener más información, consulte la configuración del grupo de subprocesos de Windows.

No se puede establecer el número máximo de subprocesos de trabajo o subprocesos de finalización de E/S en un número menor que el número de procesadores del equipo. Para determinar cuántos procesadores están presentes, recupere el valor de la Environment.ProcessorCount propiedad . Además, no puede establecer el número máximo de subprocesos de trabajo o subprocesos de finalización de E/S en un número menor que el número mínimo correspondiente de subprocesos de trabajo o subprocesos de finalización de E/S. Para determinar el tamaño mínimo del grupo de subprocesos, llame al GetMinThreads método .

Si Common Language Runtime está hospedado, por ejemplo, por Internet Information Services (IIS) o SQL Server, el host puede limitar o impedir cambios en el tamaño del grupo de subprocesos.

Tenga cuidado al cambiar el número máximo de subprocesos del grupo de subprocesos. Aunque el código puede beneficiarse, los cambios podrían tener un efecto adverso en las bibliotecas de código que use.

Establecer el tamaño del grupo de subprocesos demasiado grande puede causar problemas de rendimiento. Si hay demasiados subprocesos que se ejecutan al mismo tiempo, la sobrecarga de conmutación de tareas se convierte en un factor significativo.

Nota

El grupo de subprocesos puede tener límites superiores para los recuentos máximos de subprocesos (por short.MaxValueejemplo, , en función de la implementación). Los valores de argumento están limitados al límite superior, por lo que incluso cuando el método devuelve true, los recuentos de subprocesos máximos reales pueden ser inferiores a los solicitados.

Se aplica a

Consulte también