ThreadPool.GetAvailableThreads(Int32, Int32) Methode

Definitie

Hiermee haalt u het verschil op tussen het maximum aantal threadgroepthreads dat door de GetMaxThreads(Int32, Int32) methode wordt geretourneerd en het aantal dat momenteel actief is.

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)

Parameters

workerThreads
Int32

Het aantal beschikbare werkthreads.

completionPortThreads
Int32

Het aantal beschikbare asynchrone I/O-threads.

Voorbeelden

In het volgende voorbeeld ziet u het aantal werkthreads en I/O-threads dat beschikbaar is wanneer een eenvoudige app wordt gestart.

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

Opmerkingen

Wanneer GetAvailableThreads de variabele wordt geretourneerd, bevat de variabele die is workerThreads opgegeven het aantal extra werkthreads dat kan worden gestart en bevat de variabele die is opgegeven door completionPortThreads het aantal aanvullende asynchrone I/O-threads dat kan worden gestart.

Als er geen threads beschikbaar zijn, blijven er extra threadpoolaanvragen in de wachtrij totdat threads beschikbaar zijn.

Van toepassing op

Zie ook