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 demandes au pool de threads pouvant être simultanément actives. Toutes les demandes excédant ce nombre restent dans la file d'attente jusqu'à ce que des threads du pool soient 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 aboutit ; sinon, false
.
Remarques
Cette méthode n’est pas prise en charge lorsque le pool de threads Windows est configuré pour être utilisé à la place 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 de 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 en bénéficier, les modifications peuvent avoir un effet négatif sur les bibliothèques de code que vous utilisez.
La définition d’une taille de pool de threads trop importante peut entraîner des problèmes de performances. Si trop de threads s’exécutent en même temps, la surcharge de basculement de tâche devient un facteur important.
Notes
Le pool de threads peut avoir des limites supérieures pour le nombre maximal de threads (par short.MaxValue
exemple, , en fonction de l’implémentation). Les valeurs d’argument étant limitées à la limite supérieure, même lorsque la méthode retourne true
, le nombre maximal réel de threads peut être inférieur à celui demandé.