[quote="captain cobalt"]Здесь можно рассмотреть два случая:
(1) код, который делает условие истинным
(2) код, который делает условие ложным

Если (1) не находится в EXCLUSIVE-блоке, то AWAIT не увидит его работы. Возможно, это иногда имеет смысл.

Если же (2) не находится в EXCLUSIVE-блоке, то AWAIT может разблокироваться на ложном условии. Имеет ли это смысл?[/quote]

"Абажьите!"
При чём здесь сам факт истинности/ложности условия? Нам важен фактор момента "вычисления" условия. Сам случай расположения ХОТЯ БЫ ОДНОГО выражения, влияющего на истинность/ложность выражений, расположенных в AWAIT-ах (данного экземпляра), ВНЕ исключительного блока, является грубейшей ошибкой.
Капитан, это просто такое правило: все потоки, "застывшие" на ложных результатах проверок в AWAIT-ах, перезапускаются для проверки этих же условий в тот момент, когда активный поток покидает EXCLUSIVE-блок в каком-либо методе соответствующего экземпляра.
Будет ли результатом неких операций ВНЕ исключительного блокаи стинность или ложность, для "застывших" потоков значения не имеет - у нас не будет возможности "передёрнуть затвор"...