ThreadPool.SetMaxThreads(Int32, Int32) Method

Definition

Задает количество запросов к пулу потоков, которые могут быть активными одновременно.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.

public:
 static bool SetMaxThreads(int workerThreads, int completionPortThreads);
public static bool SetMaxThreads (int workerThreads, int completionPortThreads);
static member SetMaxThreads : int * int -> bool
Public Shared Function SetMaxThreads (workerThreads As Integer, completionPortThreads As Integer) As Boolean

Parameters

workerThreads
Int32

Максимальное количество рабочих потоков в пуле потоков.The maximum number of worker threads in the thread pool.

completionPortThreads
Int32

Максимальное количество потоков асинхронного ввода-вывода в пуле потоков.The maximum number of asynchronous I/O threads in the thread pool.

Returns

Boolean

Значение true, если изменение выполнено успешно; в противном случае — значение false.true if the change is successful; otherwise, false.

Remarks

Невозможно задать максимальное количество рабочих потоков или потоков завершения ввода-вывода на число, меньшее числа процессоров на компьютере.You cannot set the maximum number of worker threads or I/O completion threads to a number smaller than the number of processors on the computer. Чтобы определить, сколько процессоров имеется, извлеките значение свойства Environment.ProcessorCount.To determine how many processors are present, retrieve the value of the Environment.ProcessorCount property. Кроме того, нельзя задать максимальное количество рабочих потоков или потоков завершения ввода-вывода на число, меньшее, чем соответствующее минимальное количество рабочих потоков или потоков завершения ввода-вывода.In addition, you cannot set the maximum number of worker threads or I/O completion threads to a number smaller than the corresponding minimum number of worker threads or I/O completion threads. Чтобы определить минимальный размер пула потоков, вызовите метод GetMinThreads.To determine the minimum thread pool size, call the GetMinThreads method.

Если среда CLR размещена, например службы IIS (IIS) или SQL Server, узел может ограничить или запретить изменения размера пула потоков.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.

Applies to

See also