Spec-Zone.ru › Ada 2005
Справочник Ada 2005

9.7.3 Условные вызовы записей

Вызов conditional_entry_call выполняет вызов записи, который затем отменяется, если он не выбран немедленно (или если переупорядочение с прерыванием вызова не выбрано немедленно). Для случаев, когда процедура может быть реализована записью, может появиться вызов процедуры вместо вызова записи.

Синтаксис

conditional_entry_call ::=
select
entry_call_alternative
else
последовательность_операторов
end select;

Динамическая семантика

Выполнение conditional_entry_call определяется как эквивалентное выполнению timed_entry_call с delay_alternative, задающим время немедленного истечения, и той же последовательностью_операторов, что и после ключевого слова else.
ПРИМЕЧАНИЯ
40 Вызов conditional_entry_call может временно увеличить атрибут Count записи, даже если условный вызов не выбран.

Примеры

Пример условного вызова записи:
procedure Spin(R : in Resource) is
begin
loop
select
R.Seize;
return;
else
null; -- ожидание занятости
end select;
end loop;
end;





Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API