Commit d44af82e authored by Eli Bendersky's avatar Eli Bendersky

Issue #12767: documenting threading.Condition.notify

parent 3714c1eb
...@@ -634,20 +634,21 @@ the call as often as necessary. ...@@ -634,20 +634,21 @@ the call as often as necessary.
.. versionadded:: 3.2 .. versionadded:: 3.2
.. method:: notify() .. method:: notify(n=1)
Wake up a thread waiting on this condition, if any. If the calling thread By default, wake up one thread waiting on this condition, if any. If the
has not acquired the lock when this method is called, a calling thread has not acquired the lock when this method is called, a
:exc:`RuntimeError` is raised. :exc:`RuntimeError` is raised.
This method wakes up one of the threads waiting for the condition This method wakes up at most *n* of the threads waiting for the condition
variable, if any are waiting; it is a no-op if no threads are waiting. variable; it is a no-op if no threads are waiting.
The current implementation wakes up exactly one thread, if any are The current implementation wakes up exactly *n* threads, if at least *n*
waiting. However, it's not safe to rely on this behavior. A future, threads are waiting. However, it's not safe to rely on this behavior.
optimized implementation may occasionally wake up more than one thread. A future, optimized implementation may occasionally wake up more than
*n* threads.
Note: the awakened thread does not actually return from its :meth:`wait` Note: an awakened thread does not actually return from its :meth:`wait`
call until it can reacquire the lock. Since :meth:`notify` does not call until it can reacquire the lock. Since :meth:`notify` does not
release the lock, its caller should. release the lock, its caller should.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment