ThreadPool.GetMinThreads(Int32, Int32) Metoda

Definice

Před přepnutím na algoritmus pro správu vytváření a zničení vlákna načte fond vláken na vyžádání, protože se vytvoří nové požadavky.

public:
 static void GetMinThreads([Runtime::InteropServices::Out] int % workerThreads, [Runtime::InteropServices::Out] int % completionPortThreads);
public static void GetMinThreads(out int workerThreads, out int completionPortThreads);
static member GetMinThreads : int * int -> unit
Public Shared Sub GetMinThreads (ByRef workerThreads As Integer, ByRef completionPortThreads As Integer)

Parametry

workerThreads
Int32

Pokud tato metoda vrátí, obsahuje minimální počet pracovních vláken, které fond vláken vytváří na vyžádání.

completionPortThreads
Int32

Pokud tato metoda vrátí, obsahuje minimální počet asynchronních vstupně-výstupních vláken, které fond vláken vytváří na vyžádání.

Příklady

Následující příklad nastaví minimální počet pracovních vláken na čtyři a zachová původní hodnotu pro minimální počet asynchronních vstupně-výstupních vláken dokončení.

using System;
using System.Threading;

public class Test
{
    public static void Main()
    {
        int minWorker, minIOC;
        // Get the current settings.
        ThreadPool.GetMinThreads(out minWorker, out minIOC);
        // Change the minimum number of worker threads to four, but
        // keep the old setting for minimum asynchronous I/O 
        // completion threads.
        if (ThreadPool.SetMinThreads(4, minIOC))
        {
            // The minimum number of threads was set successfully.
        }
        else
        {
            // The minimum number of threads was not changed.
        }
    }
}
Imports System.Threading

Public Class Test

    <MTAThread> _
    Public Shared Sub Main()
        Dim minWorker, minIOC As Integer
        ' Get the current settings.
        ThreadPool.GetMinThreads(minWorker, minIOC)
        ' Change the minimum number of worker threads to four, but
        ' keep the old setting for minimum asynchronous I/O 
        ' completion threads.
        If ThreadPool.SetMinThreads(4, minIOC) Then
            ' The minimum number of threads was set successfully.
        Else
            ' The minimum number of threads was not changed.
        End If
    End Sub
End Class

Poznámky

Fond vláken poskytuje nová pracovní vlákna nebo vlákna dokončení vstupně-výstupních operací na vyžádání, dokud nedosáhne minimální hodnoty pro každou kategorii. Ve výchozím nastavení je minimální počet vláken nastaven na počet procesorů v systému. Po dosažení minimálního počtu vláken může fond vláken vytvořit další vlákna v dané kategorii nebo počkat na dokončení některých úloh. Od .NET Framework 4 fond vláken vytvoří a zničí vlákna, aby se optimalizovala propustnost, která je definována jako počet úloh, které se dokončily za jednotku času. Příliš málo vláken nemusí optimálně využívat dostupné prostředky, zatímco příliš mnoho vláken může zvýšit soutěžení o prostředky.

Note

Pokud je poptávka nízká, skutečný počet vláken fondu může spadat pod minimální hodnoty.

Platí pro

Viz také