Составители:
Рубрика:
§ 10. Объединенная нотация
Здесь рассматривается программная нотация, объединяющая
RPC (Remote Procedure Call), рандеву и асинхронную передачу со-
общений в единое целое.
В этой нотации операция может быть вызвана
– либо синхронным оператором call;
– либо асинхронным оператором send
в виде строк
call Modname.opname([аргументы]);
send Modname.opname([аргументы]);
Оператор call завершается, как только операция обслужена и
возвращены результирующие аргументы, а оператор send — как
только вычислены аргументы.
Если операция возвращает результат (как функция), то она мо-
жет быть использована в выражении; в остальных сл учаях функ-
циональный результат игнорируется.
Операция может быть обслужена либо в процедуре proc, либо
с помощью рандеву (оператором in).
Если обсл уживание происходит с помощью proc, то это произ-
водится немедленно без использования очередей.
При обслуживании оператором in создается очередь процессов,
вызывающих операцию (отметим, что доступ к очереди недели-
мый); в этом случае использование вызова call ведет к приоста-
новке вызывающего процесса, а при использовании вызова send
отправитель продолжает работу.
Таким образом, имеется четыре комбинации: два способа вызова
операции (call и send) и два способа обслуживания (proc и in).
Приведем соответствующую таблицу.
88
Страницы
- « первая
- ‹ предыдущая
- …
- 85
- 86
- 87
- 88
- 89
- …
- следующая ›
- последняя »