Язык Ада, 09 лекция (от 28 апреля)
Материал из eSyr's wiki.
Строка 8: | Строка 8: | ||
Процедура и вход может менять содержимое объекта, а функция не может. Одновременно разрешено любое количество вызовов любых защищенных функций, но для защищенных процедур и входов одновременно может выполняться лишь один выход лишь одной операции. При процедурах нет очередей входов. | Процедура и вход может менять содержимое объекта, а функция не может. Одновременно разрешено любое количество вызовов любых защищенных функций, но для защищенных процедур и входов одновременно может выполняться лишь один выход лишь одной операции. При процедурах нет очередей входов. | ||
- | {{Язык Ада | + | {{Курс Язык Ада}} |
Версия 21:54, 28 мая 2010
Заключительная лекция-консультация
Пример вопросов на экзамене:
- Сформулировать концепцию строгой типизации.
- Почему адское рандеву может быть рассмотрено с точки зрения взаимодействия мастер-клиент.
Рандеву – основной механизм межзадачного взаимодействия асинхронных процессов. В аде есть задачи – программные модули, описывающие асинхронные процессы. Интерфейс процесса с внешним миром – совокупность входов в процесс. В задачах определяются входы, а в остальном она выглядит, как обычная процедура. Внешний мир можно вызывать входами. Программа может обеспечить механизм обработки этих входов. В теле функции есть операторы приема. Тело задачи ада ничем не отличается от тела процедуры, кроме лишь того, что оно для асинхронных процессов. Используется ключевое слово accept. С каждым входом ассоциированы очереди вызовов. Рандеву происходит, когда одновременно один процесс доработал до вызова, а другой – до приема. Защищенная запись – разделяемый объект данных, некая продвинутая модель семафоров или мониторов. Процедура и вход может менять содержимое объекта, а функция не может. Одновременно разрешено любое количество вызовов любых защищенных функций, но для защищенных процедур и входов одновременно может выполняться лишь один выход лишь одной операции. При процедурах нет очередей входов.