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


Метод IHostTask::SetPriority

Запрашивает настройку основным приложением уровня приоритета потока для задачи, представленной текущим экземпляром IHostTask.

HRESULT SetPriority (
    [in] int newPriority
);

Параметры

  • newPriority
    [in] Целое число, представляющее запрашиваемое значение приоритета потока для задачи, представленной текущим экземпляром IHostTask.

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

HRESULT

Описание

S_OK

Метод SetPriority успешно возвратил значение.

HOST_E_CLRNOTAVAILABLE

Среда CLR не загружена в процесс или находится в состоянии, в котором ей не удается выполнить управляемый код или успешно обработать вызов.

HOST_E_TIMEOUT

Время ожидания вызова истекло.

HOST_E_NOT_OWNER

Вызывающий объект не владеет блокировкой.

HOST_E_ABANDONED

Событие, которого ожидал заблокированный поток или нить, было отменено.

E_FAIL

Произошел неизвестный разрушительный сбой. Если метод вернет значение E_FAIL, среду CLR более нельзя будет использовать в данном процессе. Последующие вызовы методов размещения возвращают значение HOST_E_CLRNOTAVAILABLE.

Заметки

Время выполнения предоставляется потокам с помощью системы циклического перебора, которая частично основывается на уровне приоритета потока. Метод SetPriority позволяет среде CLR задать уровень приоритета потока для текущей задачи. Поддерживаются следующие значения newPriority:

  • THREAD_PRIORITY_ABOVE_NORMAL

  • THREAD_PRIORITY_BELOW_NORMAL

  • THREAD_PRIORITY_HIGHEST

  • THREAD_PRIORITY_IDLE

  • THREAD_PRIORITY_LOWEST

  • THREAD_PRIORITY_NORMAL

  • THREAD_PRIORITY_TIME_CRITICAL

Среда CLR вызывает метод SetPriority при изменении значения свойства Thread.Priority пользовательским кодом. Основное приложение может определить собственные алгоритмы назначения приоритетов потокам и игнорировать данный запрос.

ПримечаниеПримечание

Метод SetPriority не сообщает об изменении уровня приоритета потока.Чтобы определить значение уровня приоритета потока задачи, нужно вызвать метод IHostTask::GetPriority.

Значения уровня приоритета определяются функцией SetThreadPriority для Win32. Дополнительные сведения о приоритете потока см. в документации по платформе Windows.

Требования

Платформы: см. раздел Требования к системе для .NET Framework.

Заголовок: MSCorEE.h

Библиотека: включена как ресурс в MSCorEE.dll

Версии платформы .NET Framework: 4, 3.5 с пакетом обновления 1 (SP1), 3.5, 3.0 с пакетом обновления 1 (SP1), 3.0, 2.0 с пакетом обновления 1 (SP1), 2.0

См. также

Ссылки

Интерфейс ICLRTask

Интерфейс ICLRTaskManager

Интерфейс IHostTask

Метод IHostTask::GetPriority

Интерфейс IHostTaskManager

Thread