Справочник Ada 95
9.9 Атрибуты задач и входов
Динамическая семантика
Для префикса T типа задачи (после любого неявного разыменования) определены следующие атрибуты:
- T'Callable
- Возвращает значение True, если задача, обозначенная T, является выполнимой, и False в противном случае; задача является выполнимой, если она не завершена и не находится в аномальном состоянии. Значение этого атрибута имеет тип Boolean.
- T'Terminated
- Возвращает значение True, если задача, обозначенная T, завершена, и False в противном случае. Значение этого атрибута имеет тип Boolean.
Для префикса E, обозначающего вход задачи или защищенного блока, определен следующий атрибут. Этот атрибут разрешен только внутри тела задачи или защищенного блока, но за исключением, в случае входа в задачу, внутри любого программного блока, который сам находится внутри тела задачи.
- E'Count
- Возвращает количество вызовов, находящихся в очереди на вход E текущего экземпляра блока. Значение этого атрибута имеет тип universal_integer.
ПРИМЕЧАНИЯ
41 Для атрибута Count вход может быть как отдельным входом, так и входом семейства входов. Имя входа или семейства входов может быть либо direct_name, либо расширенным именем.
42 Внутри блоков задач алгоритмы, использующие атрибут E'Count, должны принимать меры предосторожности, чтобы учесть возможность увеличения значения этого атрибута при поступлении вызовов входы и его уменьшения, например, при timed_entry_calls. Также conditional_entry_call может временно увеличить это значение, даже если условный вызов не принят.
43 Внутри защищенных блоков алгоритмы, использующие атрибут E'Count в entry_barrier для входа E, должны принимать меры предосторожности, чтобы учесть возможность проверки условия барьера как до, так и после помещения вызывающего в очередь.