ThreadPool.GetAvailableThreads(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.
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.