…
ASSIGN 1,3
SIS SEIZE PC
…
RELEAZE PC
LOOP 1,SIS
…
Цикл организован по первому параметру транзакта. Его начальное значение равно 3. После освобождения устройства проверяется значение первого параметра. Если оно не равно нулю, то транзакт возвращается к блоку, помеченному меткой SIS, т.е. занимает устройство с именем РС. Всего каждый транзакт будет занимать это устройство три раза.
Изменение приоритета транзактов. Блок РRIORITY
Блок РRIORITY (НАЗНАЧИТЬ ПРИОРИТЕТ) присваивает или изменяет приоритет транзакта, если он был задан блоком G ЕNЕRАТЕ (по умолчанию приоритет транзакта равен нулю). Его формат:
РRIORITY А[,В]
Таблица 4.35
Операнд | Значение | Результат по умолчанию |
А | Новое значение приоритета (целое число, СЧА, СЧА*СЧА) | Ошибка |
В | Этот операнд определяет режим BUFFER (подробнее о нем см. документацию [ ]) |
Новое значение приоритета может быть меньше, больше или равно текущему значению приоритета транзакта. Приоритет влияет на порядок выбора транзакта для обслуживания устройствами и на порядок просмотра транзактов в списке текущих событий [7].
|
|
Стандартный числовой атрибут этого блока – РR. Поскольку уровень приоритета транзакта может изменяться от 0 до 127, то РR будет выдавать значение в диапазоне 0 – 127.
Пример 4.36
РRIORITY 100
Вошедшему в этот блок транзакту присваивается приоритет 100.
DELAY FUNCTION РR, D3
1,4/2,7/3,10
…
ADVANCE FN$DELAY
…
Задержка в блоке АDVANCE зависит от приоритета транзакта. Транзакт с наиболее низким приоритетом (1) задерживается на 4 единицы модельного времени, транзакт с наиболее высоким приоритетом (3) задерживается на 10 единиц модельного времени.