Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Método ThreadPool.GetMinThreads (Int32, Int32)

 

Publicado: octubre de 2016

Recupera el número mínimo de subprocesos que el grupo de subprocesos crea a petición, según se realizan nuevas solicitudes, antes de conmutar a un algoritmo para administrar la creación y destrucción de subprocesos.

Espacio de nombres:   System.Threading
Ensamblado:  mscorlib (en mscorlib.dll)

public static void GetMinThreads(
	out int workerThreads,
	out int completionPortThreads
)

Parámetros

workerThreads
Type: System.Int32

Cuando este método vuelve, contiene el número mínimo de subprocesos de trabajo que el grupo de subprocesos crea a petición.

completionPortThreads
Type: System.Int32

Cuando este método vuelve, contiene el número mínimo de subprocesos de E/S asincrónicos que el grupo de subprocesos crea a petición.

El grupo de subprocesos ofrece nuevos subprocesos de trabajo o subprocesos de finalización de E/S a petición hasta que llega el mínimo de cada categoría. De forma predeterminada, el número mínimo de subprocesos se establece en el número de procesadores en un sistema. Cuando se alcanza el mínimo, el grupo de subprocesos puede crear subprocesos adicionales en dicha categoría o espere hasta que se completen algunas tareas. A partir de la .NET Framework 4, el grupo de subprocesos crea y destruye subprocesos para optimizar el rendimiento, que se define como el número de tareas que se completan por unidad de tiempo. Si hay demasiados pocos subprocesos, puede que los recursos disponibles no se usen de manera óptima, mientras que si hay demasiados subprocesos, puede aumentar la contención de recursos.

System_CAPS_noteNota

Cuando la demanda es baja, el número real de subprocesos del grupo de subprocesos puede descender por debajo de los valores mínimos.

En el ejemplo siguiente se establece el número mínimo de subprocesos de trabajo a cuatro y se conserva el valor original del número mínimo de subprocesos de finalización de E/S asincrónica.

using System;
using System.Threading;

public class Test
{
    public static void Main()
    {
        int minWorker, minIOC;
        // Get the current settings.
        ThreadPool.GetMinThreads(out minWorker, out minIOC);
        // Change the minimum number of worker threads to four, but
        // keep the old setting for minimum asynchronous I/O 
        // completion threads.
        if (ThreadPool.SetMinThreads(4, minIOC))
        {
            // The minimum number of threads was set successfully.
        }
        else
        {
            // The minimum number of threads was not changed.
        }
    }
}

.NET Framework
Disponible desde 1.1
Silverlight
Disponible desde 2.0
Windows Phone Silverlight
Disponible desde 7.0
Volver al principio
Mostrar: