ThreadPool.GetAvailableThreads(Int32, Int32) Methode

Definition

Ruft die Differenz zwischen der von der GetMaxThreads(Int32, Int32)-Methode zurückgegebenen maximalen Anzahl der Threads im Threadpool und der Anzahl der gerade aktiven Threads ab.

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)

Parameter

workerThreads
Int32

Die Anzahl der verfügbaren Arbeitsthreads.

completionPortThreads
Int32

Die Anzahl der verfügbaren asynchronen E/A-Threads.

Beispiele

Im folgenden Beispiel wird die Anzahl der Arbeitsthreads und I/O-Threads angezeigt, die verfügbar sind, wenn eine einfache App gestartet wird.

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

Hinweise

Wenn GetAvailableThreads sie zurückgegeben werden, enthält die variable, die durch die Anzahl zusätzlicher Arbeitsthreads angegeben wird, die gestartet werden können, und die Variable, die durch workerThreads completionPortThreads die Anzahl zusätzlicher asynchroner I/O-Threads angegeben wird, die gestartet werden können.

Wenn keine verfügbaren Threads vorhanden sind, bleiben zusätzliche Threadpoolanforderungen weiterhin in der Warteschlange, bis Threadpoolthreads verfügbar sind.

Gilt für

Siehe auch