Языки программирования. Практический сравнительный анализ


Языки программирования. Практический сравнительный анализ - стр. 224


Это один из важнейших видов взаимодействия асинхронных процессов (задач).

[Еще один вид взаимодействия процессов - параллельное и независимое вычисление компонент некоторого составного объекта. Например, компонент вектора в нашей операции "минус", если бы мы продолжили свою серию абстракций. Такое взаимодействие асинхронных процессов естественно назвать взаимодействием по результату. Бывают, конечно, и другие виды взаимодействия процессов. Взаимодействие по результату (и аргументу) в Аде не поддержано подходящими выразительными средствами.]

 

4.14.4.1. Концепция внутренней дисциплины. Монитор Хоара-Хансена.

Определенной дисциплины доступа к разделяемому ресурсу можно добиться по-разному. Например, можно требовать, чтобы эта дисциплина была запрограммированна в самих задачах А и С. Такая концепция внешней дисциплины не очень удобна. Во-первых, потому, что внешнюю дисциплину тяжело отлаживать и изменять (она оказывается "размазанной" по реализации А и С); во-вторых, потому, что обязательно нужны специфические атрибуты, характеризующие разделяемый ресурс. Специфика таких атрибутов проявляется в том, что они должны быть доступны из параллельных задач и не требовать при этом взаимного исключения. Несмотря на описанные неудобства, первые средства параллельного программирования, появившиеся в ЯП, были основанны именно на таких атрибутах и требовали соответствующей внешней дисциплины доступа к разделяемым ресурсам. Это и так называемый аппарат событий в языке ПЛ/1, и аппарат семафоров в языке Алгол 68. Важно понимать, что концепция внешней дисциплины доступа подразумевает полную пассивность самого разделяемого ресурса между сеансами доступа.

Тони Хоару принадлежит идея активного разделяемого ресурса, самостоятельно управляющего доступом - идея так называемого монитора Хоара. В противовес внешней дисциплине соответствующую монитору Хоара общую концепцию можно называть концепцией внутренней дисциплины.

Идея состоит в том, что единственное, что могут сделать внешние, обслуживаемые монитором задачи - это стать в очередь к одному из его входов.


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