ThreadPool.GetMinThreads(Int32, Int32) Méthode

Définition

Récupère le nombre minimal de threads que le pool de threads crée à la demande, au fur et à mesure que de nouvelles requêtes sont effectuées, avant de basculer sur un algorithme pour la gestion de la création et de la suppression des threads.Retrieves the minimum number of threads the thread pool creates on demand, as new requests are made, before switching to an algorithm for managing thread creation and destruction.

public:
 static void GetMinThreads([Runtime::InteropServices::Out] int % workerThreads, [Runtime::InteropServices::Out] int % completionPortThreads);
public static void GetMinThreads (out int workerThreads, out int completionPortThreads);
static member GetMinThreads : int * int -> unit
Public Shared Sub GetMinThreads (ByRef workerThreads As Integer, ByRef completionPortThreads As Integer)

Paramètres

workerThreads
Int32

Lorsque cette méthode est retournée, contient le nombre minimal de threads de travail que le pool de threads crée à la demande.When this method returns, contains the minimum number of worker threads that the thread pool creates on demand.

completionPortThreads
Int32

Lorsque cette méthode est retournée, contient le nombre minimal de threads d'E/S asynchrones que le pool de threads crée à la demande.When this method returns, contains the minimum number of asynchronous I/O threads that the thread pool creates on demand.

Exemples

L’exemple suivant définit le nombre minimal de threads de travail sur quatre et conserve la valeur d’origine pour le nombre minimal de threads de terminaison d’e/s asynchrones.The following example sets the minimum number of worker threads to four, and preserves the original value for the minimum number of asynchronous I/O completion threads.

using namespace System;
using namespace System::Threading;
int main()
{
   int minWorker;
   int minIOC;
   
   // Get the current settings.
   ThreadPool::GetMinThreads( minWorker, 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.
   }
}

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.
        }
    }
}
Imports System.Threading

Public Class Test

    <MTAThread> _
    Public Shared Sub Main()
        Dim minWorker, minIOC As Integer
        ' Get the current settings.
        ThreadPool.GetMinThreads(minWorker, 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) Then
            ' The minimum number of threads was set successfully.
        Else
            ' The minimum number of threads was not changed.
        End If
    End Sub
End Class

Remarques

Le pool de threads fournit de nouveaux threads de travail ou des threads de terminaison d’e/s à la demande jusqu’à ce qu’il atteigne la valeur minimale pour chaque catégorie.The thread pool provides new worker threads or I/O completion threads on demand until it reaches the minimum for each category. Par défaut, le nombre minimal de threads est défini sur le nombre de processeurs sur un système.By default, the minimum number of threads is set to the number of processors on a system. Lorsque la valeur minimale est atteinte, le pool de threads peut créer des threads supplémentaires dans cette catégorie ou attendre que certaines tâches se terminent.When the minimum is reached, the thread pool can create additional threads in that category or wait until some tasks complete. À partir du .NET Framework 4.NET Framework 4, le pool de threads crée et détruit les threads afin d’optimiser le débit, qui est défini comme le nombre de tâches qui se terminent par unité de temps.Beginning with the .NET Framework 4.NET Framework 4, the thread pool creates and destroys threads in order to optimize throughput, which is defined as the number of tasks that complete per unit of time. Un nombre trop bas de threads peut ne pas permettre une utilisation optimale des ressources disponibles, tandis qu'un nombre trop élevé de threads peut augmenter les conflits de ressources.Too few threads might not make optimal use of available resources, whereas too many threads could increase resource contention.

Notes

Quand la demande est faible, le nombre réel de threads du pool peut être inférieur aux valeurs minimales.When demand is low, the actual number of thread pool threads can fall below the minimum values.

S’applique à

Voir aussi