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
.
Комментарии
Невозможно задать максимальное число рабочих потоков или потоков завершения ввода-вывода на число меньше, чем количество процессоров на компьютере. Чтобы определить, сколько процессоров присутствует, получите значение Environment.ProcessorCount свойства. Кроме того, нельзя задать максимальное число рабочих потоков или потоков завершения ввода-вывода в число, меньшее, чем соответствующее минимальное число рабочих потоков или потоков завершения ввода-вывода. Чтобы определить минимальный размер пула GetMinThreads потоков, вызовите метод.
Если среда CLR размещена, например службы IIS (IIS) или SQL Server, узел может ограничить или предотвратить изменения размера пула потоков.
При изменении максимального количества потоков в пуле потоков используйте осторожность. Хотя ваш код может воспользоваться преимуществами, изменения могут негативно сказаться на используемых библиотеках кода.
Установка слишком большого размера пула потоков может привести к проблемам с производительностью. Если одновременно выполняется слишком много потоков, переключение задач становится значительным фактором.