ВУЗ:
Составители:
Рубрика:
11
(низший), Below Normal (ниже нормального ), Normal (нормальный),
Above Normal (выше нормального ), Highest (высший) или Time Critical (крити -
ческий по времени ).
Класс TThread имеет открытое свойство Priority перечислимого типа
TThreadPriority. Для каждого относительного приоритета в этом типе суще-
ствует свой элемент перечисления:
type
TThreadPriority = (tpIdle, tpLowest, tpLower, tpNormal,
tpHigher, tpHighest, tpTimeCritical);
Приоритет любого объекта TThread можно получить или установить путем
простого чтения или записи его свойства Priority. С помощью следующей
строки кода присваивается высший приоритет экземпляру потомка класса
TThread, который носит имя MyThread:
MyThread.Priority := tpHighest;
Подобно классам приоритетов, каждому относительному приоритету соот-
ветствует определенное числовое значение. Разница лишь в том, что значение
относительного приоритета имеет знак , который при определении общего при -
оритета потока внутри системы влияет на результат суммирования класса при -
оритета процесса и относительного приоритета . Поэтому относительный при -
оритет иногда называется дельта-приоритетом. Общий приоритет потока мо -
жет выражаться значением от 1 до 31 (где число 1 означает самый низкий при -
оритет). В модуле Windows определены константы , представляющие знаковые
значения для каждого приоритета . В табл. 2 показано соответствие констант
API и элементов перечисления в типе TThreadPriority.
Таблица 2. Относительные приоритеты для потоков
Значение Признак Значение
tpIdle THREAD_PRIORITY_IDLE -15*
tpLowest THREAD_PRIORITYJLOWES T -2
tpBelowNormal THREAD_PRIORITY_BELOW_NORMAL -1
tpNormal THREAD_PRIORITY_NORMAL 0
tpAboveNormal THREAD_PRIORITY_ABOVE_NORMAL 1
tpHighest THREAD_PRIORITY_HIGHEST 2
tpTimeCritical THREAD_PRIORITY_TIME_CRITICAL 15*
Помеченные звездочкой (*) значения относительных приоритетов tpIdle и
tpTimeCritical, в отличие от других , на самом деле не добавляются к классу
приоритета для определения общего приоритета потока. Общий приоритет по -
тока, относительный приоритет которого равен tpIdle, независимо от класса
приоритета устанавливается равным 1. Исключением из этого правила является
класс Realtime, который, объединяясь с относительным приоритетом tpIdle,
имеет значение общего приоритета , равное 16. Общий приоритет любого пото -
ка с относительным приоритетом tpTimeCritical, независимо от его класса,
равен 15. Исключением из этого правила является класс приоритета Realtime,
11 (низш ий), Below Normal (ниж е но рмально го ), Normal (но рмальны й), Above Normal (вы ш е но рмально го ), Highest (вы сш ий) или Time Critical (крити- ческий по времени). Класс TThread имеет о ткры тое сво йство Priority перечислимо го типа TThreadPriority. Д л я каж до го о тно сительно го прио ритета в этом типе сущ е- ствуетсво й элементперечисления: type TThreadPriority = (tpIdle, tpLowest, tpLower, tpNormal, tpHigher, tpHighest, tpTimeCritical); П рио ритетлю бо го о бъ екта TThread мо ж но по лучить или устано вить путем про стого чтения или записи его сво йства Priority. С по мо щ ью следую щ ей стро ки ко да присваивается вы сш ий прио ритет экземпляру по томка класса TThread, ко то ры й но ситимя MyThread: MyThread.Priority := tpHighest; П о до бно классам прио ритетов, каж до му о тно сительно му прио ритету со о т- ветствуето пределенно е число во е значение. Разница лиш ь в том, что значение о тно сительно го прио ритета имеетзнак, ко торы й при о пределении о бщ его при- о ритетапо тока внутри системы влияетна результатсуммиро вания класса при- о ритета про цесса и о тно сительно го прио ритета. П о этому о тно сительны й при- о ритетино гда назы вается дельт а-пр иор ит ет ом . О бщ ий прио ритетпо тока мо - ж етвы раж аться значением о т1 до 31 (где число 1 о значаетсамы й низкий при- о ритет). В мо дуле Windows о пределены ко нстанты , представляю щ ие знако вы е значения для каж до го прио ритета. В табл. 2 по казано со о тветствие ко нстант API и элементовперечисления втипе TThreadPriority. Таб ли ца2. О т н ос и т ельн ы е п ри ори т ет ы для п от оков Зн ачен и е П ри зн ак Зн ачен и е tpIdle THREAD_PRIORITY_IDLE -15* tpLowest THREAD_PRIORITYJLOWES T -2 tpBelowNormal THREAD_PRIORITY_BELOW_NORMAL -1 tpNormal THREAD_PRIORITY_NORMAL 0 tpAboveNormal THREAD_PRIORITY_ABOVE_NORMAL 1 tpHighest THREAD_PRIORITY_HIGHEST 2 tpTimeCritical THREAD_PRIORITY_TIME_CRITICAL 15* П о меченны е звездо чко й (*) значения о тно сительны х прио ритетов tpIdle и tpTimeCritical, в о т личие о тдругих , на само м деле не до бавляю тся к классу прио ритета для о пределения о бщ его прио ритета по тока. О бщ ий прио ритетпо - тока, о тно сительны й прио ритетко торо го равен tpIdle, независимо о ткласса прио ритетаустанавливается равны м 1. И склю чением из этого правилаявляется класс Realtime, ко торы й, о бъ единяясь с о тно сительны м прио ритетом tpIdle, имеетзначение о бщ его прио ритета, равно е 16. О бщ ий прио ритетлю бо го по то- ка с о тно сительны м прио ритетом tpTimeCritical, независимо о тего класса, равен 15. И склю чением из этого правила является класс прио ритета Realtime,
Страницы
- « первая
- ‹ предыдущая
- …
- 9
- 10
- 11
- 12
- 13
- …
- следующая ›
- последняя »