ThreadPool.GetAvailableThreads(Int32, Int32) Méthode

Définition

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

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 lorsqu’une application simple est démarrée.

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

Quand GetAvailableThreads elle est retournée, 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 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 de pool de threads deviennent disponibles.

S’applique à

Voir aussi