Теория распараллеливания и синхронизация. Демьянович Ю.К - 18 стр.

UptoLike

x = sum
}
Декларация процесса записывается на уровне декларации про-
цедур (поскольку декларация не является оператором), и к тому
же объявляемые процессы выполняются в фоновом режиме, в про-
тивоположность тому, что выполнение оператора, следующего за
оператором co, начинается лишь после завершения работы co.
Массив процессов объявляется добавлением квантификатора к
имени процесса:
process bar[i = 1 to n] {
write(i);
}
Замечание. Поскольку процессы, вообще говоря, могут выпол-
няться на различных ВМ, то порядок выполнения последней про-
граммы недетерминирован: существует м ного вариантов выполне-
ния предыдущей программ ы ( n!).
4. Процедуры и функции
Процедуры и функции объявляются так же, как в языке C.
Например,
int Number(int v) { # функция возвращает целое число
return(v + 1);
}
main() { # “void”-процедура
int n; sum;
read(n); # прочитать целое из stdin
for [i = 1 to n]
sum = sum + Number(i);
write(“результат”, sum);
}
Если исходное значение 5, то sum = 0 + 2 + 3 + 4 + 5 + 6 = 20.
19