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