Составители:
Рубрика:
§ 3. О языке Linda
В языке Linda обобщается идея разделяемых переменных и
асинхронной передачи сообщений. Любой последовательный язык
можно дополнить примитивами из Linda и получить параллельный
вариант.
Имеются кортежи процессов — процедуры которые выполня-
ются асинхронно, и кортежи данных — помеченные записи. Здесь
имеется шесть примитивов для доступа к пространству корте-
жей (разделяемой ассоциативной памяти); кортежем называется
отмеченная запись данных.
Пространство кортежей (ПК) похоже на единый разделяемый
канал связи, но кортежи не упорядочены.
OUT — операция помещения кортежа
(запись — аналог send — в канал кортеж помещается);
IN — операция извлечения кортежа
(чтение — аналог receive — из канала кортеж извлекается);
EVAL — операция создания процесса;
INP — операция ввода (неблокирующая);
RDP — операция чтения (неблокирующая);
RD — операция просмотра (блокирующая).
Пространство кортежей состоит:
– из множества пассивных кортежей;
– из множества активных кортежей.
Каждый кортеж имеет вид
("tag", value_1, . . ., value_n)
где метка "tag" является строкой (для различения кортежей).
Значения (value_1, . . ., value_n) — это нуль или несколь-
ко значений данных (целых чисел, действи тельных чисел или мас-
сивов).
Для обработки кортежей служат три базовых неделимых при-
митива: OUT, IN, RD.
OUT("tag", expr_1, . . ., expr_n);
— помеще ние кортежа в ПК (аналогично оператору send, но
вместо канала рассматривается пространство кортежей).
IN("tag", field_1, . . ., field_n);
— извлечение кортежа из ПК (аналогично оператору receive).
64
Страницы
- « первая
- ‹ предыдущая
- …
- 61
- 62
- 63
- 64
- 65
- …
- следующая ›
- последняя »