Calling condition.wait() inside thread causes retrieval of any future to block on main thread August 26, 2023 by Tarik In your ReentrantReadWriteLock class, try changing self._condition = Condition()