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

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

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

Boolean

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

Комментарии

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

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

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

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

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

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