Información sobre el nuevo método GetMinThreads y el nuevo método SetMinThreads de la clase ThreadPool en .NET Framework 1.1

Seleccione idioma Seleccione idioma
Id. de artículo: 827419 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

En esta página

INTRODUCCIÓN

Microsoft .NET Framework 1.1 agrega dos nuevos que siguen:
  • SetMinThreads
  • GetMinThreads
Estos dos métodos nuevos son para la clase ThreadPool . El método SetMinThreads se utiliza para aumentar el número de subprocesos de trabajo inactivos o el número de subprocesos de finalización de E/s que mantiene la clase ThreadPool . El método GetMinThreads se utiliza para obtener la configuración actual.

Más información

De forma predeterminada, el número mínimo de subprocesos inactivos que se mantienen para la clase ThreadPool es como sigue:
  • Un subproceso para cada procesador del equipo
  • Categoría de subprocesos de un subproceso para cada trabajo
  • Un subproceso para cada categoría de E/s
La forma que se asignan subprocesos puede provocar un cuello de botella si una aplicación determinada repentinamente requiere un mayor número de subprocesos. Para evitar este problema, utilice el método SetMinThreads para aumentar el número de subprocesos de trabajo inactivos y el número de subprocesos de finalización de E/s que mantiene la clase ThreadPool . Utilice el método GetMinThreads para obtener la configuración mínima actual.

Método SetMinThreads

  • El ejemplo de código que sigue proporciona la definición de la
     
    public static bool SetMinThreads(int workerThreads, int completionPortThreads)
    {
     return SetMinThreadsNative(workerThreads, completionPortThreads);
    }
    SetMinThreads método.
  • Puede agregar el método SetMinThreads para aumentar el número de trabajo inactivo subprocesos y para aumentar el número de E/s subprocesos de finalización mantenidas por la clase ThreadPool .
  • El método SetMinThreads establece el número total de subprocesos inactivos, independientemente del número de procesadores que el equipo tiene.
  • Si especifica un número negativo o un número que es mayor que el número máximo de subprocesos activos de clase ThreadPool que pueden obtener desde el método GetMaxThreads de la clase ThreadPool , el método SetMinThreads devuelve false y no cambia cualquiera de los valores mínimos.

Método GetMinThreads

  • El ejemplo de código que sigue proporciona la definición del método GetMinThreads .
    public static void GetMinThreads(out int workerThreads, out int completionPortThreads)
    {
     GetMinThreadsNative(out workerThreads, out completionPortThreads);
    }
  • Puede agregar el método GetMinThreads a la clase ThreadPool como parte de .NET 1.1 para obtener el número de subprocesos de trabajo inactivos y el número de subprocesos de finalización de E/s se mantienen mediante la clase ThreadPool .
  • El método GetMinThreads Obtiene el número total de subprocesos inactivos independientemente del número de procesadores que tiene un equipo.

Ejemplos de código que utilizan el método SetMinThreads y el método GetMinThreads

En los siguientes ejemplos de código, el número mínimo de trabajo inactivo subprocesos se establece en 4. Se conserva el valor original para el número mínimo de subprocesos inactivos de finalización de E/s.

Microsoft Visual Basic .NET
Dim minWorker, minIOC As Integer
        ' Get the current settings.
        ThreadPool.GetMinThreads(minWorker, minIOC)
        ' Change the minimum number of Worker threads to 4 but keep
        ' the old setting for the minimum I/O completion threads.
        If ThreadPool.SetMinThreads(4, minIOC) Then
            ' The minimum number of threads is set successfully.
        Else
            ' The minimum number of threads is not changed.
        End If
Microsoft Visual C# .NET
int minWorker, minIOC;
        // Get the current settings.
        ThreadPool.GetMinThreads(out minWorker, out minIOC);
        // Change the minimum number of Worker threads to 4 but keep
        // the old setting for minimum I/O completion threads.
        if (ThreadPool.SetMinThreads(4, minIOC))
        {
            // The minimum number of threads is set successfully.
        }
        else
        {
            // The minimum number of threads is not changed.
        }

Referencias

Para obtener información adicional, haga clic en los números de artículo siguientes para verlos en Microsoft Knowledge Base:
810259REVISIÓN: SetMinThreads GetMinThreads API agregado y a common language runtime ThreadPool (clase)
315460Cómo enviar un elemento de trabajo del grupo de subprocesos utilizando Visual C# .NET

Propiedades

Id. de artículo: 827419 - Última revisión: viernes, 12 de noviembre de 2004 - Versión: 1.3
La información de este artículo se refiere a:
  • Microsoft Visual C# .NET 2003 Standard Edition
  • Microsoft Visual Basic .NET 2003 Standard Edition
  • Microsoft .NET Framework 1.1
Palabras clave: 
kbmt kbinfo kbhowto kbthread kbperformance kbcommandline KB827419 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 827419

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com