ThreadPool.SetMaxThreads(Int32, Int32) Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Définit le nombre de requêtes adressées au pool de threads qui peuvent être actives simultanément. Toutes les requêtes au-dessus de ce nombre restent mises en file d’attente jusqu’à ce que les threads du pool de threads deviennent disponibles.
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
Paramètres
- workerThreads
- Int32
Nombre maximal de threads de travail dans le pool de threads.
- completionPortThreads
- Int32
Nombre maximal de threads d’E/S asynchrones dans le pool de threads.
Retours
true si la modification réussit ; sinon, false.
Remarques
Cette méthode n’est pas prise en charge lorsque le pool de threads Windows est configuré pour être utilisé au lieu du pool de threads .NET. Pour plus d’informations, consultez le paramètre de configuration du pool de threads Windows.
Vous ne pouvez pas définir le nombre maximal de threads de travail ou de threads d’achèvement d’E/S sur un nombre inférieur au nombre de processeurs sur l’ordinateur. Pour déterminer le nombre de processeurs présents, récupérez la valeur de la Environment.ProcessorCount propriété. En outre, vous ne pouvez pas définir le nombre maximal de threads de travail ou de threads d’achèvement d’E/S sur un nombre inférieur au nombre minimal correspondant de threads de travail ou de threads d’achèvement d’E/S. Pour déterminer la taille minimale du pool de threads, appelez la GetMinThreads méthode.
Si le Common Language Runtime est hébergé, par exemple par Internet Information Services (IIS) ou SQL Server, l’hôte peut limiter ou empêcher les modifications apportées à la taille du pool de threads.
Soyez prudent lorsque vous modifiez le nombre maximal de threads dans le pool de threads. Bien que votre code puisse bénéficier, les modifications peuvent avoir un effet négatif sur les bibliothèques de code que vous utilisez.
La définition de la taille du pool de threads trop volumineuse peut entraîner des problèmes de performances. Si trop de threads s’exécutent en même temps, la surcharge de basculement des tâches devient un facteur important.
Note
Le pool de threads peut avoir des limites supérieures pour le nombre maximal de threads (par short.MaxValueexemple, en fonction de l’implémentation). Les valeurs d’argument sont limitées à la limite supérieure. Par conséquent, même lorsque la méthode retourne true, le nombre maximal réel de threads peut être inférieur à celui demandé.