Составители:
Рубрика:
monitor Monname{
[объявление постоянных переменных]
[операторы инициализации]
[процедуры]
}
Процедуры реализуют видимые операции.
Постоянные переменные разделяются всеми процедурами тела
монитора (они называются постоянными, ибо существуют все вре-
мя существования монитора).
Монитор обладает тремя свойствами:
1) вне монитора видны только имена процедур, которые следует
вызывать для изменения состояния ресурса, представленного теми
или иными постоянными переменными, например,
call Monname.opname(arguments),
где opname — имя одной из операций (процедур) с аргументами
arguments;
2) операторы внутри монитора не могут обращаться к перемен-
ным вне монитора;
3) постоянные переменные инициализируются до вызова его про-
цедур.
Монитор отличается от механизма абстракции данных в языках
последовательного программирования тем, что совместно исполь-
зуется параллельными процессами (однако, каждая процедура мо-
нитора не может работать одновременно для нескольких процес-
сов).
§ 3. Взаимное исключение в мониторе
Обычно взаимное исключение в мониторе происходит неявно,
т.е. его не нужно специально программировать при вызове монито-
ра.
Монитор при неявном исключени и организуется так, что если
процесс вызывает процедуру монитора, то
1) она становится активной;
2) в любой момент времени активной может быть только один
экземпляр данной процедуры монитора (д ва или более процессов
не могут работать одновременно с одной процедурой монитора);
16
Страницы
- « первая
- ‹ предыдущая
- …
- 13
- 14
- 15
- 16
- 17
- …
- следующая ›
- последняя »