Операции над очередями языка SMPL | MetodPro.ru

Реклама на сайте

Операции над очередями языка SMPL


Операция _EnQUEUE помещает транзакт в указанную очередь. Результатом обращения к данной функции является новый элемент, который включается в очередь в соответствии с указанным приоритетом. Очередь упорядочивается по убыванию приоритета.

_EnQUEUE (Q, AJ, AI, AS);

Q — указатель на заголовок очереди, возвращаемый функцией _QUEUE.

AJ — номер транзакта.

AI —приоритет транзакта.

AS —стадия обработки транзакта.

При обращении к функции корректируются поля:

STQ := STQ + LEN × (_TIME – TLAST);

LEN := LEN + 1;

TLAST := _TIME;

Иногда может быть модифицировано поле MAX (MAX := LEN;).

 

Функция _HEAD удаляет транзакт из вершины очереди и возвращает номер этого транзакта.

J := _HEAD(Q, AS);

Q — указатель на заголовок очереди.

AS — стадия обработки транзакта.

J — номер транзакта.

При обращении к данной функции модифицируются следующие статистические поля в заголовке очереди:

STQ := STQ + LEN(_TIME – TLAST);

SW := SW + (_TIME – T);

где Т — время постановки транзакта в очередь.

SW2 := SW2 + (_TIME – T)2;

LIST := NEXT1;

TLAST := _TIME;

LEN := LEN – 1;

COUNT := COUNT+1;

 

Функция _LENGTH возвращает текущее содержимое соответствующей очереди в L.

L := _LENGTH(Q);

Q — заголовок очереди.



Методические пособия

  • Системы автоматизированного проектирования
  • Социология молодёжи
  • Общая социология
  • Криптография
  • Проектирование трансляторов
  • Компьютерная графика
  • Моделирование систем
  • Информационная безопасность
  • Теория вычислительных процессов
  • Логические основы искусственного интелекта
  • Проектирование распределённых информационных систем