Queue a, b

Операнды:

· А – имя или номер очереди. Обязательный операнд. Допустимые значения: Name, PosInteger, ParenthesizedExpression, SNA или SNA'Parameter.

· В – количество элементов, на которые увеличивается длина очереди. Значение по умолчанию – 1. Необязательный операнд. Допустимые значения: Null, Name, PosInteger, ParenthesizedExpression, SNA или SNA'Parameter.

Действие

Когда транзакт входит в блок QUEUE, операнд А вычисляется, округляется и используется в качестве номера очереди. Если необходимо, очередь создается. Операнд В определяет значение, которое используется для увеличения длины очереди. Если операнд В был задан, он вычисляется, округляется и используется в качестве инкремента. Если В не был задан, используется значе-
ние 1.

В завершении обновляется накапливаемая по данной очереди статистика.

3. Блок SEIZE. Когда активный транзакт пытается войти в блок SEIZE, он ожидает возможности занять или занимает устройство:

SEIZE A

Операнд:

· А– имя или номер устройства. Обязательный операнд. Допустимые значения – Name, PosInteger, ParenthesizedExpression, SNA или SNA'Parameter.

Действие

Блок дает возможность транзакту монопольно использовать канал обслуживания. Если канал обслуживания простаивает, транзакт немедленно приобретает монопольное использование его, и пытается ввести следующий блок. Если канал обслуживания уже занят, транзакт ожидает, исходя из своего приоритета.

4. Блок DEPART регистрирует статистику при уменьшении содержимого очереди:


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: