Commit 15b47c5d authored by Raymond Hettinger's avatar Raymond Hettinger

Note that two-phase cyclic barriers are suitable for use in loops.

parent 37b9e46a
......@@ -834,8 +834,10 @@ Barriers can work with an arbitrary number of threads. This is a generalization
of a `Rendezvous <http://en.wikipedia.org/wiki/Synchronous_rendezvous>`_ which
is defined for only two threads.
The barrier is designed to be cyclic, making it reusable once all of the
waiting threads are released.
Implemented as a two-phase cyclic barrier, :class:`~threading.Barrier` objects
are suitable for use in loops. The separate *filling* and *draining* phases
assure that all threads get released (drained) before any one them can loop back
and re-enter the barrier. The barrier fully resets after each cycle.
If any of the predecessor tasks can hang or be delayed, a barrier can be created
with an optional *timeout* parameter. Then if the timeout period elapses before
......
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