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.

C#
public static void GetAvailableThreads (out int workerThreads, out int completionPortThreads);

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.

C#
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

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

Ürün Sürümler
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8
.NET Standard 2.0, 2.1

Ayrıca bkz.