Поделиться через


ThreadPool.SetMaxThreads(Int32, Int32) Метод

Определение

Задает количество запросов в пул потоков, которые могут быть активными одновременно. Все запросы выше этого числа остаются в очереди до тех пор, пока потоки пула потоков не становятся доступными.

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

Параметры

workerThreads
Int32

Максимальное количество рабочих потоков в пуле потоков.

completionPortThreads
Int32

Максимальное количество асинхронных потоков ввода-вывода в пуле потоков.

Возвращаемое значение

true Значение , если изменение выполнено успешно; falseв противном случае .

Комментарии

Этот метод не поддерживается, если пул потоков Windows настроен на использование вместо пула потоков .NET. Дополнительные сведения см. в параметре конфигурации пула потоков Windows.

Нельзя задать максимальное количество рабочих потоков или потоков завершения ввода-вывода на число меньше, чем число процессоров на компьютере. Чтобы определить, сколько процессоров присутствует, получите значение Environment.ProcessorCount свойства. Кроме того, нельзя задать максимальное количество рабочих потоков или потоков завершения ввода-вывода в число меньше, чем соответствующее минимальное количество рабочих потоков или потоков завершения ввода-вывода. Чтобы определить минимальный размер пула GetMinThreads потоков, вызовите метод.

Если среда CLR размещена, например службами IIS или SQL Server, узел может ограничить или предотвратить изменения размера пула потоков.

Используйте осторожность при изменении максимального количества потоков в пуле потоков. Хотя ваш код может воспользоваться преимуществами, изменения могут оказать негативное влияние на используемые библиотеки кода.

Установка слишком большого размера пула потоков может привести к проблемам с производительностью. Если одновременно выполняется слишком много потоков, переключение задач становится значительным фактором.

Замечание

Пул потоков может иметь верхние пределы для максимального количества потоков (например short.MaxValue, в зависимости от реализации). Значения аргументов ограничиваются верхним пределом, поэтому даже при возврате trueметода фактическое максимальное число потоков может быть ниже запрошенного.

Применяется к

См. также раздел