Partager via


ThreadPool.SetMaxThreads(Int32, Int32) Méthode

Définition

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é.

S’applique à

Voir aussi