Технология программирования для распределенных параллельных систем. Демьянович Ю.К - 81 стр.

UptoLike

# - сохраняем полученное значение
V(ready);
# - разрешаем процессу Worker забрать это значение
}
proc Worker {
int myvalue;
call Exchange[3-i].deposit(myvalue);
# - отсылаем значение myvalue другому
P(ready); # - ждем получение значения
# из другого процесса
}
end Exchange
§ 7. Операторы ввода
Если модуль экспортирует операцию
op opname([типы параметров]);
то процесс-сервер осуществляет рандеву с процессом, вызвавшем
операцию opname и выполняет оператор ввода, простейший вариант
которого имеет вид
in opname([параметры]) --> S; ni
Область между ключевыми словами in и ni называется защи-
щенной операцией. Защита распространяется на иде нтификаторы
для параметров операции opname (если они есть).
Здесь S означает последовательность операторов, реализую-
щих данную операцию.
Область видимости параметров вся защищенная операция,
так что операторы из S могут считывать или записывать значения
параметров.
Оператор ввода приостанавливает работу процесса-сервера до
появления вызова операции opname. Затем процесс-сервер
1) выбирает самый старый из ожидающих вызовов;
2) копирует его аргументы в параметры;
3) выполняет спи сок параметров S;
4) возвращает результирующие параметры вызвавшему процес-
су.
С этого мом ента процесс- сер вер, выполняющий операцию, и
82