Создание эффективных WIN32-приложений с учетом специфики 64-разрядной версии Windows


Абстрагирование приоритетов - часть 4


Относительный приоритет потока

Описание

Time-critical

Поток выполняется с приоритетом 31 в классе real-time и с приоритетом 15 в других классах

Highest

Поток выполняется с приоритетом на два уровня выше обычною для данного класса

Above normal

Поток выполняется с приоритетом на один уровень выше обычного для данного класса

Normal

Поток выполняется с обычным приоритетом процесса для данного класса

Below normal

Поток выполняется с приоритетом на один уровень ниже обычного для данного класса

Lowest

Поток выполняется с приоритетом на два уровня ниже обычного для данного класса

Idle

Поток выполняется с приоритетом 16 в классе real-time и с приоритетом 1 в других классах

Итак, Вы присваиваете процессу некий класс приоритета и можете изменять от носительные приоритеты потоков в пределах процесса. Заметьте, что я не сказал ни слова об уровнях приоритетов 0-31. Разработчики приложений не имеют с ними дела. Уровень приоритета формируется самой системой, исходя из класса приоритета про цесса и относительного приоритета потока, А механизм его формирования — как раз то, чем Microsoft не хочет себя ограничивать И действительно, этот механизм меня ется практически в каждой версии системы.

В следующей таблице показано, как формируется уровень приоритета в Win dows 2000, но не забывайте, что в Windows NT и тем более в Windows 95/98 этот механизм действует несколько иначе Учтите также, что в будущих версиях Windows он вновь изменится.

Например, обычный поток в обычном процессе получает уровень приоритета 8, Поскольку большинство процессов имеет класс normal, a большинство потоков —

относительный приоритет normal, y основной части потоков в системе уровень при оритета равен 8.

Обычный поток в процессе с классом приоритета high получает уровень приори тета 13. Изменив класс приоритета процесса на idle, Вы снизите уровень приоритета того же потока до 4. Вспомните, что приоритет потока всегда относителен классу приоритета его процесса Изменение класса приоритета процесса не влияет на от носительные приоритеты его потоков, но сказывается на уровне их приоритета




Начало  Назад  Вперед



Книжный магазин