Ilya Machekhin
Иными словами: Не знаю, как не блокируя исполнения всего и вся отслеживать состояние одного объекта. Куда копать?
в мультипоточке, как в любой распределенной системе, у тебя всего два выбора: либо поллинг (по какому-то правилу регулярно снова и снова опрашивать состояние ресурса, для чего в большинстве случаев нужно сначала заполучить лок на чтение как минимум; в CAS-подходах будет немного иная схема, но я их пока сознательно игнорирую), либо - сигнализирующие события. большинство из них кладут текущий поток в очередь ожидания и поток "засыпает", т.е. больше не получает CPU, пока событие не наступает. а как наступает - он достается обратно из очереди и начинает жрать вычислительные ресурсы.