acquire(block=True, timeout=None)
Acquire a lock, blocking or non-blocking.
When invoked with the block argument set to True
, block until the lock is in an unlocked state (not owned by any process or thread) unless the lock is already owned by the current process or thread. The current process or thread then takes ownership of the lock (if it does not already have ownership) and the recursion level inside the lock increments by one, resulting in a return value of True
. Note that there are several differences in this first argument’s behavior compared to the implementation of threading.RLock.acquire()
, starting with the name of the argument itself.
When invoked with the block argument set to False
, do not block. If the lock has already been acquired (and thus is owned) by another process or thread, the current process or thread does not take ownership and the recursion level within the lock is not changed, resulting in a return value of False
. If the lock is in an unlocked state, the current process or thread takes ownership and the recursion level is incremented, resulting in a return value of True
.
Use and behaviors of the timeout argument are the same as in Lock.acquire()
. Note that some of these behaviors of timeout differ from the implemented behaviors in threading.RLock.acquire()
.
Please login to continue.