https://docs.python.org/3/library/threading.html#c... - читал, так и не понял.
Недоумение вызывает пара методов acquire/release. Судя по примерам хоть они и вызывают соотв. методы у [R]Lock, лежащего внутри Condition, другие треды повторно вызвав acquire у неосвободившегося Condition не блокируются, а блокируются только на wait. Непонятно, зачем они (пара acquire/release) вообще нужны.