ThreadPool::SetMaxThreads Method
Sets the number of requests to the thread pool that can be active concurrently. All requests above that number remain queued until thread pool threads become available.
Assembly: mscorlib (in mscorlib.dll)
[SecurityPermissionAttribute(SecurityAction::Demand, ControlThread = true)] public: static bool SetMaxThreads( int workerThreads, int completionPortThreads )
Parameters
- workerThreads
- Type: System::Int32
The maximum number of worker threads in the thread pool.
- completionPortThreads
- Type: System::Int32
The maximum number of asynchronous I/O threads in the thread pool.
You cannot set the number of worker threads or the number of I/O completion threads to a number smaller than the number of processors in the computer.
If the common language runtime is hosted, for example by Internet Information Services (IIS) or SQL Server, the host can limit or prevent changes to the thread pool size.
Use caution when changing the maximum number of threads in the thread pool. While your code might benefit, the changes might have an adverse effect on code libraries you use.
Setting the thread pool size too large can cause performance problems. If too many threads are executing at the same time, the task switching overhead becomes a significant factor.
- SecurityPermission
for the ability to control threads. Permission value: SecurityPermissionFlag::ControlThread
Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.