class_docstr: Asyncio equivalent to threading.Barrier
  
  Implements a Barrier primitive.
  Useful for synchronizing a fixed number of tasks at known synchronization
  points. Tasks block on 'wait()' and are simultaneously awoken once they
  have all made their call.
class_docstr_tok: ["Asyncio","equivalent","to","threading.Barrier","Implements","a","Barrier","primitive",".","Useful","for","synchronizing","a","fixed","number","of","tasks","at","known","synchronization","points",".","Tasks","block","on","'wait","(",")","'","and","are","simultaneously","awoken","once","they","have","all","made","their","call","."]
docstr: Create a barrier, initialised to 'parties' tasks.
docstr_tok: ["Create","a","barrier",",","initialised","to","'parties","'","tasks","."]
code: def __init__(self, parties):
      """Create a barrier, initialised to 'parties' tasks."""
      if parties < 1:
          raise ValueError("parties must be > 0")
  
      self._cond = Condition()  # notify all tasks when state changes
  
      self._parties = parties
      self._state = _BarrierState.FILLING
      self._count = 0
  
imports: import collections
  import enum
  from .None import exceptions
  from .None import mixins
label_desc: Use image node_id 1 to create a new Barrier object from inherited base classes: mixins with example: obj = Barrier(parties)