ThreadPool.SetMaxThreads(Int32, Int32) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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.MaxValue
ejemplo, , 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.