ThreadPool.GetMinThreads(Int32, Int32) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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.