From: Raymond Hettinger Date: Mon, 17 Jan 2011 21:05:07 +0000 (+0000) Subject: Note that two-phase cyclic barriers are suitable for use in loops. X-Git-Tag: v3.2rc2~133 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=15b47c5d7f8e3fb3021185d00eb9032de824920b;p=python Note that two-phase cyclic barriers are suitable for use in loops. --- diff --git a/Doc/whatsnew/3.2.rst b/Doc/whatsnew/3.2.rst index e342b87786..bdcf5880a8 100644 --- a/Doc/whatsnew/3.2.rst +++ b/Doc/whatsnew/3.2.rst @@ -834,8 +834,10 @@ Barriers can work with an arbitrary number of threads. This is a generalization of a `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