threading.Lock/RLock/Event/Condition app