ThreadPool.GetAvailableThreads(Int32, Int32) Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Načte rozdíl mezi maximálním počtem vláken fondu vláken vrácených metodou a číslem GetMaxThreads(Int32, Int32) , které je aktuálně aktivní.
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)
Parametry
- workerThreads
- Int32
Počet dostupných pracovních vláken.
- completionPortThreads
- Int32
Počet dostupných asynchronních vstupně-výstupních vláken.
Příklady
Následující příklad zobrazí počet pracovních vláken a vstupně-výstupních vláken, která jsou k dispozici při spuštění jednoduché aplikace.
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
Poznámky
Když GetAvailableThreads se vrátí, proměnná zadaná workerThreads pomocí obsahuje počet dalších pracovních vláken, která lze spustit, a proměnná zadaná completionPortThreads pomocí obsahuje počet dalších asynchronních vstupně-výstupních vláken, která lze spustit.
Pokud nejsou k dispozici žádná vlákna, další požadavky fondu vláken zůstanou ve frontě, dokud nebudou k dispozici vlákna fondu vláken.