Informations sur la nouvelle méthode GetMinThreads et la méthode SetMinThreads nouvelle de la classe de pool de threads dans .NET Framework 1.1

Traductions disponibles Traductions disponibles
Numéro d'article: 827419 - Voir les produits auxquels s'applique cet article
Agrandir tout | Réduire tout

Sommaire

INTRODUCTION

Le Microsoft .NET Framework 1.1 ajoute deux nouvelles méthodes qui suivent :
  • SetMinThreads
  • GetMinThreads
Ces deux méthodes nouvelles sont pour la classe ThreadPool . La méthode SetMinThreads est utilisée pour augmenter le nombre de threads de travail inactives ou le nombre de threads de terminaison d'E / S qui gère la classe ThreadPool . La méthode GetMinThreads est utilisée pour obtenir les paramètres actuels.

Plus d'informations

Par défaut, le nombre minimum de threads inactives qui sont maintenus pour la classe ThreadPool est comme suit :
  • Un thread pour chaque processeur d'ordinateur
  • Un thread pour chaque travail thread catégorie
  • Un thread pour chaque catégorie d'E / S
La manière dont threads sont alloués peut entraîner un goulet d'étranglement si une application particulière nécessite soudainement un plus grand nombre de threads. Pour éviter ce problème, utilisez la méthode SetMinThreads pour augmenter le nombre de threads travail inactifs et le nombre de threads de terminaison d'E / S qui gère la classe ThreadPool . Utilisez la méthode GetMinThreads pour obtenir les paramètres actuels minimales.

Méthode SetMinThreads

  • L'exemple de code qui suit fournit la définition de la méthode. SetMinThreads
     
    public static bool SetMinThreads(int workerThreads, int completionPortThreads)
    {
     return SetMinThreadsNative(workerThreads, completionPortThreads);
    }
  • Vous pouvez ajouter la méthode SetMinThreads pour augmenter le nombre de travail inactif threads et pour augmenter le nombre de threads achèvement d'E / S qui sont maintenus par la classe ThreadPool .
  • La méthode SetMinThreads définit le nombre total de threads inactives, indépendamment du nombre de processeurs que l'ordinateur a.
  • Si vous spécifiez un nombre négatif ou un nombre plus grand que le nombre maximal de threads de classe pool de threads actifs que vous pouvez obtenir de la méthode GetMaxThreads de la classe ThreadPool , la méthode SetMinThreads renvoie la valeur false et ne modifie pas les deux les valeurs minimales.

Méthode GetMinThreads

  • L'exemple de code qui suit fournit la définition de la méthode GetMinThreads .
    public static void GetMinThreads(out int workerThreads, out int completionPortThreads)
    {
     GetMinThreadsNative(out workerThreads, out completionPortThreads);
    }
  • Vous pouvez ajouter la méthode GetMinThreads à la classe ThreadPool dans le cadre de .NET 1.1 Framework pour obtenir le numéro de threads de travail inactifs et le nombre de threads achèvement d'E / S qui sont maintenus par la classe ThreadPool .
  • La méthode GetMinThreads obtient le nombre total de threads inactives indépendamment du nombre de processeurs ayant un ordinateur.

Exemples de code qui utiliser la méthode SetMinThreads et la méthode GetMinThreads

Dans les exemples de code suivant, le nombre minimal de travail inactif threads est affecté à 4. La valeur d'origine pour le nombre minimum de threads d'achèvement d'E / S inactifs est conservée.

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
Fin si 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.
        }

Références

Pour plus d'informations, cliquez sur les numéros ci-dessous pour afficher les articles correspondants dans la Base de connaissances Microsoft :
810259 CORRECTIF : SetMinThreads et API GetMinThreads ajoutés au common language runtime classe ThreadPool
315460 Comment faire pour envoyer un élément de travail pour le pool de threads à l'aide Visual C# .NET

Propriétés

Numéro d'article: 827419 - Dernière mise à jour: vendredi 12 novembre 2004 - Version: 1.3
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft Visual C# .NET 2003 Initiation
  • Microsoft Visual Basic .NET 2003 Initiation
  • Microsoft .NET Framework 1.1
Mots-clés : 
kbmt kbinfo kbhowto kbthread kbperformance kbcommandline KB827419 KbMtfr
Traduction automatique
IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d?articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d?avoir accès, dans votre propre langue, à l?ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s?exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s?efforce aussi continuellement de faire évoluer son système de traduction automatique.
La version anglaise de cet article est la suivante: 827419
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Envoyer des commentaires

 

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