Retrieves the number of idle threads the thread pool maintains in anticipation of new requests.
Namespace:
System.Threading
Assembly:
mscorlib (in mscorlib.dll)
Visual Basic (Declaration)
Public Shared Sub GetMinThreads ( _
<OutAttribute> ByRef workerThreads As Integer, _
<OutAttribute> ByRef completionPortThreads As Integer _
)
Dim workerThreads As Integer
Dim completionPortThreads As Integer
ThreadPool.GetMinThreads(workerThreads, _
completionPortThreads)
public static void GetMinThreads(
out int workerThreads,
out int completionPortThreads
)
public:
static void GetMinThreads(
[OutAttribute] int% workerThreads,
[OutAttribute] int% completionPortThreads
)
public static function GetMinThreads(
workerThreads : int,
completionPortThreads : int
)
Parameters
- workerThreads
- Type: System..::.Int32%
The minimum number of idle worker threads currently maintained by the thread pool.
- completionPortThreads
- Type: System..::.Int32%
The minimum number of idle asynchronous I/O threads currently maintained by the thread pool.
Idle threads are maintained by the thread pool in order to reduce the time required to satisfy requests for thread pool threads. Separate minimums are maintained for worker threads and asynchronous I/O threads. Idle threads in excess of the minimums are terminated, to save system resources. Maintenance of the idle threads is a background task.
When GetMinThreads returns, the variable specified by workerThreads contains the minimum number of idle worker threads the thread pool maintains, and the variable specified by completionPortThreads contains the minimum number of idle asynchronous I/O threads the thread pool maintains.
Note: |
|---|
GetMinThreads and SetMinThreads retrieve and set the total number of idle threads maintained by the thread pool, regardless of the number of processors in the computer. |
The following example sets the minimum number of idle worker threads to four, and preserves the original value for the minimum number of idle asynchronous I/O completion threads.
Imports System
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
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.
}
}
}
using namespace System;
using namespace System::Threading;
int main()
{
int minWorker;
int minIOC;
// 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 ) )
{
// The minimum number of threads was set successfully.
}
else
{
// The minimum number of threads was not changed.
}
}
Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98
The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
.NET Framework
Supported in: 3.5, 3.0, 2.0, 1.1
Reference