Язык процедур 2-REXX для OS-2


Функция RXQUEUE - часть 2


Специальные соображения

  1. Внешние программы, которые должны взаимодействовать с процедурой REXX с помощью определенных очередей данных, могут использовать сеансовую очередь, очередь, принимаемую по умолчанию, либо получить имя очереди данных с помощью технологии межзадачного взаимодействия. Данная технология может включать передачу параметров, помещение в заранее подготовленную логическую очередь или использовать обычный механизм межзадачного взаимодействия OS/2 (например, каналы, разделенная память или очереди IPC).

  2. Поименованные очереди доступны для всей операционной системы; поэтому и имена очередей должны быть уникальными. Если существует очередь с именем os2que и выдана следующая функция: newqueue = RXQUEUE('Create', 'os2que')

    то будет создана новая очередь, и имя для нее выберет REXX. Это новое имя будет возвращено в качестве результата выполнения функции.

  3. Любая запущенная внешняя программа наследует в качестве очереди, принимаемой по умолчанию, очередь, используемую в данный момент вызывающей программой.

Отсоединенные процессы

  1. Отсоединенные процессы получают доступ к отсоединенной сеансовой очереди, которая уникальна для каждого отсоединенного процесса. Важно отметить, что эта отсоединенная сеансовая очередь отличается от сеансовой очереди запущенного процесса.

  2. Процедуры REXX, которые должны выполняться как отсоединенные процессы, не могут использовать инструкции SAY, PULL и PARSE PULL, требующие ввода с клавиатуры или вывода на экран дисплея. Однако инструкции PULL и PARSE PULL, работающие только с очередью, допустимы для использования в отсоединенных процессах.

Примечания по мультипрограммированию

Механизм организации очередей данных в этом случае отличается от стандартного механизма организации очередей API операционной системы OS/2 следующим:

  1. Очередь НЕ принадлежит какому-то конкретному процессу, т.е. любой процесс имеет право в любой момент изменить очередь. При выполнении операций, которые могут повлиять на состояние очереди, ресурс преобразуется из параллельного в последовательный так, что не нарушается сохранность данных.



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