Aracılığıyla paylaş


ThreadPool.GetAvailableThreads(Int32, Int32) Yöntem

Tanım

yöntemi tarafından GetMaxThreads(Int32, Int32) döndürülen en fazla iş parçacığı havuzu iş parçacığı sayısı ile şu anda etkin olan sayı arasındaki farkı alır.

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)

Parametreler

workerThreads
Int32

Kullanılabilir çalışan iş parçacıklarının sayısı.

completionPortThreads
Int32

Kullanılabilir zaman uyumsuz G/Ç iş parçacıklarının sayısı.

Örnekler

Aşağıdaki örnek, basit bir uygulama başlatıldığında kullanılabilen çalışan iş parçacıklarının ve G/Ç iş parçacıklarının sayısını görüntüler.

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

Açıklamalar

Döndürdüğünde GetAvailableThreads , tarafından workerThreads belirtilen değişken başlatılabilir ek çalışan iş parçacıklarının sayısını içerir ve tarafından completionPortThreads belirtilen değişken başlatılabilir ek zaman uyumsuz G/Ç iş parçacığı sayısını içerir.

Kullanılabilir iş parçacığı yoksa, iş parçacığı havuzu iş parçacıkları kullanılabilir duruma gelene kadar ek iş parçacığı havuzu istekleri kuyruğa alınmış olarak kalır.

Şunlara uygulanır

Ayrıca bkz.