def acquire_lock(self, blocking=True): if self.lock.acquire(blocking): return True elif blocking: raise threading.ThreadError('Cannot acquire lock.') else: return False