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","."]
code: def _exit(self):
      # If we are the last tasks to exit the barrier, signal any tasks
      # waiting for the barrier to drain.
      if self._count == 0:
          if self._state in (
              _BarrierState.RESETTING,
              _BarrierState.DRAINING,
          ):
              self._state = _BarrierState.FILLING
          self._cond.notify_all()
  
imports: import collections
  import enum
  from .None import exceptions
  from .None import mixins
  from .None import tasks
label_desc: Use image node_id 3 for calling the Barrier obj's underlying member method code with example usage: obj._exit() without return types