ThreadPool.GetAvailableThreads(Int32, Int32) Méthode

Définition

Récupère la différence entre le nombre maximal de threads du pool retourné par la méthode GetMaxThreads(Int32, Int32) et le nombre actuel de threads actifs.

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

Paramètres

workerThreads
Int32

Nombre de threads de travail disponibles.

completionPortThreads
Int32

Nombre de threads d'E/S asynchrones disponibles.

Exemples

L’exemple suivant affiche le nombre de threads de travail et de threads d’E/S disponibles au démarrage d’une application simple.

using System;
using System.Threading;

public class Example
{
   public static void Main()
   {
      int worker = 0;
      int io = 0;
      ThreadPool.GetAvailableThreads(out worker, out io);
      
      Console.WriteLine("Thread pool threads available at startup: ");
      Console.WriteLine("   Worker threads: {0:N0}", worker);
      Console.WriteLine("   Asynchronous I/O threads: {0:N0}", io);
   }
}
// The example displays output like the following:
//    Thread pool threads available at startup:
//       Worker threads: 32,767
//       Asynchronous I/O threads: 1,000
Imports System.Threading

 Module Example
   Public Sub Main()
      Dim worker As Integer = 0
      Dim io As Integer = 0
      ThreadPool.GetAvailableThreads(worker, io)
      
      Console.WriteLine("Thread pool threads available at startup: ")
      Console.WriteLine("   Worker threads: {0:N0}", worker)
      Console.WriteLine("   Asynchronous I/O threads: {0:N0}", io)
   End Sub
End Module
' The example displays output like the following:
'    Thread pool threads available at startup:
'       Worker threads: 32,767
'       Asynchronous I/O threads: 1,000

Remarques

En cas GetAvailableThreads de retour, la variable spécifiée par workerThreads contient le nombre de threads de travail supplémentaires qui peuvent être démarrés, et la variable spécifiée par completionPortThreads contient le nombre de threads d’E/S asynchrones supplémentaires qui peuvent être démarrés.

S’il n’y a pas de threads disponibles, les demandes de pool de threads supplémentaires restent mises en file d’attente jusqu’à ce que les threads du pool de threads deviennent disponibles.

S’applique à

Voir aussi