ThreadPool.GetMinThreads(Int32, Int32) Methode

Definition

Ruft die Mindestanzahl der Threads ab, die der Threadpool bei Bedarf erstellt, da neue Anforderungen vorgenommen werden, bevor sie zu einem Algorithmus für die Verwaltung der Threaderstellung und -zerstörung wechseln.

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)

Parameter

workerThreads
Int32

Wenn diese Methode zurückgegeben wird, enthält die Mindestanzahl der Arbeitsthreads, die der Threadpool bei Bedarf erstellt.

completionPortThreads
Int32

Wenn diese Methode zurückgegeben wird, enthält die Mindestanzahl asynchroner E/A-Threads, die der Threadpool bei Bedarf erstellt.

Beispiele

Im folgenden Beispiel wird die Mindestanzahl der Arbeitsthreads auf vier festgelegt und der ursprüngliche Wert für die minimale Anzahl asynchroner E/A-Vervollständigungsthreads beibehalten.

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

Hinweise

Der Threadpool stellt neue Arbeitsthreads oder E/A-Vervollständigungsthreads bei Bedarf bereit, bis er das Minimum für jede Kategorie erreicht. Standardmäßig entspricht die minimale Anzahl von Threads der Anzahl von Prozessoren in einem System. Wenn das Minimum erreicht ist, kann der Threadpool zusätzliche Threads in dieser Kategorie erstellen oder warten, bis einige Aufgaben abgeschlossen sind. Ab dem .NET Framework 4 erstellt und zerstört der Threadpool Threads, um den Durchsatz zu optimieren, der als die Anzahl der Aufgaben definiert ist, die pro Zeiteinheit abgeschlossen werden. Bei zu wenigen Threads werden die verfügbaren Ressourcen möglicherweise nicht optimal genutzt, wohingegen bei zu vielen Threads Ressourcenkonflikte auftreten können.

Note

Wenn die Anforderungen niedrig sind, kann die tatsächliche Anzahl der Threads im Threadpool unterhalb der Mindestwerte liegen.

Gilt für:

Weitere Informationen