wait(timeout=None)
Wait until notified or until a timeout occurs. If the calling thread has not acquired the lock when this method is called, a RuntimeError
is raised.
This method releases the underlying lock, and then blocks until it is awakened by a notify()
or notify_all()
call for the same condition variable in another thread, or until the optional timeout occurs. Once awakened or timed out, it re-acquires the lock and returns.
When the timeout argument is present and not None
, it should be a floating point number specifying a timeout for the operation in seconds (or fractions thereof).
When the underlying lock is an RLock
, it is not released using its release()
method, since this may not actually unlock the lock when it was acquired multiple times recursively. Instead, an internal interface of the RLock
class is used, which really unlocks it even when it has been recursively acquired several times. Another internal interface is then used to restore the recursion level when the lock is reacquired.
The return value is True
unless a given timeout expired, in which case it is False
.
Changed in version 3.2: Previously, the method always returned None
.
Please login to continue.