> -- Сергей Губанов писал(а):
> Не совсем понятно что здесь написано. Если я правильно это понял, то лучше бы записать это как-то так:

Ты правильно понял, AWAIT здесь подразумеват одновременный EXCLUSIVE.

> -- Сергей Губанов писал(а):
> Здесь я использовал выдуманный синтаксический блок IFEXWAIT ... THEN ... ENDобъединяющий в себе обычные EXCLUSIVE и AWAIT.

Только зачем THEN я не понял.

> -- Сергей Губанов писал(а):
> логика работы у них разная: первый всё таки дожидается наступления события condition = TRUE, а второй прерывает ожидание когда кто-то изменит переменную не_хотим_ждать на TRUE.

Ну и что, в обоих случаях получаем нужный результат.

> -- Сергей Губанов писал(а):
> Допустим у нас есть две переменные: "не_хотим_ждать" и "надоело_ждать", тогда возможен код:реализовать его с помощью блока IFEXWAIT ... THEN ... END, кажется невозможно.

Почему невозможно? Вот:

## Код:
```
EXCWAIT(condition OR надоело_ждать OR не_хотим_ждать);
IF condition THEN
END
```


> -- Сергей Губанов писал(а):
> Кстати, EXCLUSIVE - блоки в Active Oberon не могут быть вложенными (используется быстрое, но нереентерабельное залочивание объекта this).

Ну это уже не так принципиально. Хотя мне кажется, что реентерабельное залочивание стоит копейки.