Сведения о новый метод GetMinThreads и новый метод SetMinThreads класса ThreadPool в .NET Framework 1.1

Переводы статьи Переводы статьи
Код статьи: 827419 - Vizualiza?i produsele pentru care se aplic? acest articol.
Развернуть все | Свернуть все

В этой статье

Введение эта ссылка может указывать на содержимое полностью или частично на английском языке

Microsoft .NET Framework 1.1 добавляет два новых метода, следующие:
  • SetMinThreads
  • GetMinThreads
Эти два новых метода используются дляThreadPoolКласс:. надписьюSetMinThreadsметод используется, чтобы увеличить количество свободных рабочих потоков или количество завершении потоков, которыеThreadPoolподдерживает класс. надписьюGetMinThreadsметод используется для получения текущих параметров.

Дополнительная информация

По умолчанию минимальное количество свободных потоков, которые остаются открытымиThreadPoolкласс выглядит следующим образом:
  • Один поток для каждого процессора компьютера
  • Один поток для каждого рабочего потока категории
  • Один поток для каждой категории операций ввода-вывода
Способ, которым назначаются потокам может привести к узкое место, если определенное приложение внезапно требует большего числа потоков. Чтобы избежать этой проблемы,SetMinThreadsметод, чтобы увеличить количество свободных рабочих потоков и количество завершении потоков,ThreadPoolподдерживает класс. Если данный пользователь является членом домена, то при вводе имени пользователя используйте форматGetMinThreadsметод для получения текущих параметров минимальным.

Метод SetMinThreads

  • В следующем примере кода предоставляет определениеSetMinThreadsметод.
     
    public static bool SetMinThreads(int workerThreads, int completionPortThreads)
    {
     return SetMinThreadsNative(workerThreads, completionPortThreads);
    }
  • Можно добавитьSetMinThreadsметод, чтобы увеличить количество свободных рабочих потоков и увеличьте число потоков завершения ввода-вывода, которые хранятся вThreadPoolКласс:.
  • надписьюSetMinThreadsметод задает общее количество свободных потоков, независимо от числа процессоров на компьютере.
  • Если указано отрицательное число или число превышает максимальное число активныхThreadPoolпотоки, которые можно получить из классаGetMaxThreadsметодThreadPoolкласс,SetMinThreadsметод возвращает значение false, а не изменяется, либо минимальные значения.

Метод GetMinThreads

  • В следующем примере кода предоставляет определениеGetMinThreadsметод.
    public static void GetMinThreads(out int workerThreads, out int completionPortThreads)
    {
     GetMinThreadsNative(out workerThreads, out completionPortThreads);
    }
  • Можно добавитьGetMinThreadsметодThreadPoolкласс в рамках платформы .NET 1.1 количество свободных рабочих потоков и количество потоков завершения ввода-вывода, которые хранятся вThreadPoolКласс:.
  • надписьюGetMinThreadsметод возвращает общее количество свободных потоков, независимо от числа процессоров на компьютере.

Примеры кода, используйте метод SetMinThreads и метод GetMinThreads

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

Microsoft Visual Basic .NET
Dim minWorker, minIOC As Integer
        ' Get the current settings.
        ThreadPool.GetMinThreads(minWorker, minIOC)
        ' Change the minimum number of Worker threads to 4 but keep
        ' the old setting for the minimum I/O completion threads.
        If ThreadPool.SetMinThreads(4, minIOC) Then
            ' The minimum number of threads is set successfully.
        Else
            ' The minimum number of threads is not changed.
        End If
Microsoft Visual C# .NET
int minWorker, minIOC;
        // Get the current settings.
        ThreadPool.GetMinThreads(out minWorker, out minIOC);
        // Change the minimum number of Worker threads to 4 but keep
        // the old setting for minimum I/O completion threads.
        if (ThreadPool.SetMinThreads(4, minIOC))
        {
            // The minimum number of threads is set successfully.
        }
        else
        {
            // The minimum number of threads is not changed.
        }

Ссылки

Дополнительные сведения см. в следующих статьях базы знаний Майкрософт::
810259Исправление: SetMinThreads GetMinThreads API добавлены и общеязыковой среды выполнения класса ThreadPool
315460Как отправить рабочий элемент пулу потоков с помощью Visual C# .NET

Свойства

Код статьи: 827419 - Последний отзыв: 25 ноября 2010 г. - Revision: 2.0
Информация в данной статье относится к следующим продуктам.
  • Microsoft Visual C# .NET 2003 Standard Edition
  • Microsoft Visual Basic .NET 2003 Standard Edition
  • Microsoft .NET Framework 1.1
Ключевые слова: 
kbinfo kbhowto kbthread kbperformance kbcommandline kbmt KB827419 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке:827419

Отправить отзыв

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com