@@ -226,11 +226,11 @@ However, if you really do need to use some shared data then
226226 holds Python objects and allows other processes to manipulate them using
227227 proxies.
228228
229- A manager returned by :func: `Manager ` will support types :class: ` list `,
230- :class: `dict `, :class: `Namespace `, :class: `Lock `, :class: `RLock `,
231- :class: `Semaphore `, :class: `BoundedSemaphore `, :class: `Condition `,
232- :class: `Event `, :class: `Queue `, :class: `Value ` and :class: ` Array `. For
233- example, ::
229+ A manager returned by :func: `Manager ` will support types
230+ :class: `list `, :class: `dict `, :class: `Namespace `, :class: `Lock `,
231+ :class: `RLock `, :class: `Semaphore `, :class: `BoundedSemaphore `,
232+ :class: `Condition `, :class: `Event `, :class: `Barrier `,
233+ :class: ` Queue `, :class: ` Value ` and :class: ` Array `. For example, ::
234234
235235 from multiprocessing import Process, Manager
236236
@@ -885,6 +885,12 @@ program as they are in a multithreaded program. See the documentation for
885885Note that one can also create synchronization primitives by using a manager
886886object -- see :ref: `multiprocessing-managers `.
887887
888+ .. class :: Barrier(parties[, action[, timeout]])
889+
890+ A barrier object: a clone of :class: `threading.Barrier `.
891+
892+ .. versionadded :: 3.3
893+
888894.. class :: BoundedSemaphore([value])
889895
890896 A bounded semaphore object: a clone of :class: `threading.BoundedSemaphore `.
@@ -1280,6 +1286,13 @@ their parent process exits. The manager classes are defined in the
12801286
12811287 It also supports creation of shared lists and dictionaries.
12821288
1289+ .. method :: Barrier(parties[, action[, timeout]])
1290+
1291+ Create a shared :class: `threading.Barrier ` object and return a
1292+ proxy for it.
1293+
1294+ .. versionadded :: 3.3
1295+
12831296 .. method :: BoundedSemaphore([value])
12841297
12851298 Create a shared :class: `threading.BoundedSemaphore ` object and return a
0 commit comments