ThreadPool.GetMinThreads(Int32, Int32) Metódus
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
Lekéri a szálkészlet által igény szerint létrehozott szálak minimális számát az új kérések teljesítésekor, mielőtt átváltana a szállétrehozás és -megsemmisítés kezelésére szolgáló algoritmusra.
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)
Paraméterek
- workerThreads
- Int32
Ha ez a metódus visszatér, a szálkészlet által igény szerint létrehozott munkaszálak minimális számát tartalmazza.
- completionPortThreads
- Int32
Ha ez a metódus visszatér, a szálkészlet által igény szerint létrehozott aszinkron I/O-szálak minimális számát tartalmazza.
Példák
Az alábbi példa a munkaszálak minimális számát négyre állítja, és megőrzi az aszinkron I/O-befejezési szálak minimális számának eredeti értékét.
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
Megjegyzések
A szálkészlet igény szerint új feldolgozószálakat vagy I/O-befejezési szálakat biztosít, amíg el nem éri az egyes kategóriákhoz tartozó minimális értéket. Alapértelmezés szerint a szálak minimális száma a rendszer processzorainak számára van beállítva. A minimális érték elérésekor a szálkészlet további szálakat hozhat létre ebben a kategóriában, vagy megvárhatja, amíg egyes feladatok befejeződnek. A .NET Framework 4-től kezdve a szálkészlet létrehozza és megsemmisíti a szálakat az átviteli sebesség optimalizálása érdekében, amely az időegységenként elvégzett tevékenységek számaként van definiálva. Előfordulhat, hogy túl kevés szál nem használja ki optimálisan a rendelkezésre álló erőforrásokat, míg a túl sok szál növelheti az erőforrás-versengést.
Note
Alacsony igény esetén a szálkészlet szálainak tényleges száma a minimális értékek alá eshet.