Изменение приоритета задачи
В разделе “Относительный приоритет задач” нашей книги мы рассказали вам о том, как в операционной системе Microsoft Windows NT устанавливаются приоритеты задач. Родительская задача может изменить относительный приоритет запущенной ей дочерней задачи с помощью функции SetThreadPriority:
BOOL SetThreadPriority(
HANDLE hThread, // идентификатор задачи
int nPriority); // новый уровень приоритета задачи
Через параметр hThread этой функции передается идентификатор задачи, для которой необходимо изменить относительный приоритет.
Новое значение относительного приоритета передается через параметр nPriority и может принимать одно из следующих значений:
- THREAD_PRIORITY_TIME_CRITICAL;
- THREAD_PRIORITY_HIGHEST;
- THREAD_PRIORITY_ABOVE_NORMAL;
- THREAD_PRIORITY_NORMAL;
- THREAD_PRIORITY_BELOW_NORMAL;
- THREAD_PRIORITY_LOWEST;
- THREAD_PRIORITY_IDLE
Абсолютный уровень приоритета, который получит задача, зависит от класса приоритета процесса. Забегая вперед, скажем, что класс приоритета процесса можно изменить при помощи функции SetPriorityClass.