ThreadPool.GetMinThreads(Int32, Int32) Methode

Definitie

Hiermee haalt u het minimale aantal threads op dat de threadgroep op aanvraag maakt, omdat er nieuwe aanvragen worden gedaan, voordat u overschakelt naar een algoritme voor het beheren van het maken en vernietigen van threads.

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)

Parameters

workerThreads
Int32

Wanneer deze methode wordt geretourneerd, bevat het minimum aantal werkthreads dat de threadgroep op aanvraag maakt.

completionPortThreads
Int32

Wanneer deze methode wordt geretourneerd, bevat het minimum aantal asynchrone I/O-threads dat de threadpool op aanvraag maakt.

Voorbeelden

In het volgende voorbeeld wordt het minimum aantal werkthreads ingesteld op vier en blijft de oorspronkelijke waarde behouden voor het minimale aantal asynchrone I/O-voltooiingsthreads.

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

Opmerkingen

De threadgroep biedt nieuwe werkthreads of I/O-voltooiingsthreads op aanvraag totdat deze het minimum voor elke categorie bereikt. Standaard is het minimum aantal threads ingesteld op het aantal processors op een systeem. Wanneer het minimum is bereikt, kan de threadgroep extra threads in die categorie maken of wachten totdat bepaalde taken zijn voltooid. Vanaf het .NET Framework 4 maakt en vernietigt de threadgroep threads om de doorvoer te optimaliseren. Dit wordt gedefinieerd als het aantal taken dat per tijdseenheid wordt voltooid. Te weinig threads maken mogelijk niet optimaal gebruik van beschikbare resources, terwijl er te veel threads kunnen leiden tot conflicten tussen resources.

Note

Wanneer de vraag laag is, kan het werkelijke aantal threadpool-threads onder de minimaal vereiste waarden vallen.

Van toepassing op

Zie ook