Функция GetThreadPriority (processthreadsapi.h)
Извлекает значение приоритета для указанного потока. Это значение вместе с классом приоритета процесса потока определяет базовый уровень приоритета потока.
Синтаксис
int GetThreadPriority(
[in] HANDLE hThread
);
Параметры
[in] hThread
Дескриптор потока.
Дескриптор должен иметь право доступа THREAD_QUERY_INFORMATION или THREAD_QUERY_LIMITED_INFORMATION . Дополнительные сведения см. в разделе Безопасность потоков и права доступа.
Windows Server 2003: Дескриптор должен иметь право доступа THREAD_QUERY_INFORMATION .
Возвращаемое значение
Если функция выполняется успешно, возвращаемое значение является уровнем приоритета потока.
Если функция завершается сбоем, возвращаемое значение будет THREAD_PRIORITY_ERROR_RETURN. Дополнительные сведения об ошибке можно получить, вызвав GetLastError.
Windows Phone 8.1. Эта функция всегда возвращает THREAD_PRIORITY_NORMAL.
Уровень приоритета потока является одним из следующих значений.
Возвращаемый код/значение | Описание |
---|---|
|
Приоритет на 1 пункт выше класса приоритета. |
|
Приоритет на 1 пункт ниже класса приоритета. |
|
Приоритет на 2 пункта выше класса приоритета. |
|
Базовый приоритет 1 для процессов IDLE_PRIORITY_CLASS, BELOW_NORMAL_PRIORITY_CLASS, NORMAL_PRIORITY_CLASS, ABOVE_NORMAL_PRIORITY_CLASS или HIGH_PRIORITY_CLASS и базовый приоритет 16 для процессов REALTIME_PRIORITY_CLASS . |
|
Приоритет 2 пункта ниже класса приоритета. |
|
Обычный приоритет для класса приоритета. |
|
Базовый уровень приоритета 15 для процессов IDLE_PRIORITY_CLASS, BELOW_NORMAL_PRIORITY_CLASS, NORMAL_PRIORITY_CLASS, ABOVE_NORMAL_PRIORITY_CLASS или HIGH_PRIORITY_CLASS и базовый уровень приоритета 31 для процессов REALTIME_PRIORITY_CLASS . |
Если поток имеет REALTIME_PRIORITY_CLASS базовый класс, эта функция также может возвращать одно из следующих значений: -7, -6, -5, -4, -3, 3, 4, 5 или 6. Дополнительные сведения см. в разделе Приоритеты планирования.
Комментарии
Каждый поток имеет базовый уровень приоритета, определяемый значением приоритета потока и классом приоритета его процесса. Операционная система использует базовый уровень приоритета всех исполняемых потоков, чтобы определить, какой поток получает следующий срез времени ЦП. Потоки планируются с циклическим перебором на каждом уровне приоритета, и планирование потоков на более низком уровне выполняется только при отсутствии исполняемых потоков на более высоком уровне.
Таблицу, показывающую уровни базового приоритета для каждого сочетания класса приоритета и значения приоритета потока, см. в функции SetPriorityClass .
Windows 8.1 и Windows Server 2012 R2: эта функция поддерживается для приложений Магазина Windows.
Windows Phone 8.1:Windows Phone приложения Магазина могут вызывать эту функцию, но не оказывает никакого влияния.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows XP [классические приложения | Приложения UWP] |
Минимальная версия сервера | Windows Server 2003 [классические приложения | Приложения UWP] |
Целевая платформа | Windows |
Header | processthreadsapi.h (включая Windows.h в Windows Server 2003, Windows Vista, Windows 7, Windows Server 2008 Windows Server 2008 R2) |
Библиотека | Kernel32.lib; WindowsPhoneCore.lib в Windows Phone 8.1 |
DLL | Kernel32.dll; KernelBase.dll Windows Phone 8.1 |