Единица выполнения это код (обычно метод объекта), выполняющийся, в определенной степени, автономно (по времени) от кода, создавшего единицу выполнения. К единицам выполнения относятся асинхронные процедуры и потоки активных объектов (см. документацию по пакетам асинхронных процедур и активных объектов).
Базовый класс единицы выполнения - Cntm::ExecutionUnit. Потомки этого класса предоставляют сервис по созданию конкретных типов единиц выполнения. Взаимодействие с единицами выполнения осуществляется через специальные объекты - хэндлы, которые во многом схожи со ссылочными указателями. Класс Cntm::ExecutionUnitHandle является базовым классом хэндлов единиц выполнения.
В некоторых случаях (например, для активных объектов) единица выполнения не хранит ссылочный указатель на объект, метод которого выполняет. Для получения ссылочного указателя из обычного (например, из this) можно применять т.н. Using-объекты, которые комбинируют преобразование и хранение ссылочного указателя на объект с проверкой требования завершения текущей единицы выполнения и состояния объекта (объект не должен находиться в удаляемом состоянии). Для этого служат классы Cntm::Using, Cntm::UsingSync и Cntm::UsingReentrantSync. Последние два помимо всего прочего производят вход в синхропространство.
Классы | |
class | Cntm::ExecutionUnit |
Базовый класс единицы выполнения программы. Подробнее... | |
class | Cntm::ExecutionUnitHandle |
Класс хэндла единицы выполнения. Подробнее... | |
class | Cntm::TerminatingSignal |
Базовый класс сигнала, использующегося в качестве исключения при завершении потоков активных объектов и асинхронных процедур. Подробнее... | |
class | Cntm::Using |
Объекты данного класса используются как scoped-объекты, наподобии auto_ptr и т. Подробнее... | |
class | Cntm::UsingReentrantSync |
Добавляет к Cntm::Using свойства синхросекций, т. Подробнее... | |
class | Cntm::UsingSync |
Добавляет к Cntm::Using свойства синхросекций, т. Подробнее... |
© Овсеевич Р.В. Документация по CntmLib 1.1.4 от 28 May 2008. Создано системой 1.5.3 |