class_docstr: Consumer thread base class subclassed by event observer threads
  that dispatch events from an event queue to appropriate event handlers.
  
  :param timeout:
      Event queue blocking timeout (in seconds).
  :type timeout:
      ``float``
class_docstr_tok: ["Consumer","thread","base","class","subclassed","by","event","observer","threads","that","dispatch","events","from","an","event","queue","to","appropriate","event","handlers",".",":","param","timeout",":","Event","queue","blocking","timeout","(","in","seconds",")",".",":","type","timeout",":","``","float","``"]
code: def __init__(self, timeout=DEFAULT_OBSERVER_TIMEOUT):
      BaseThread.__init__(self)
      self._event_queue = EventQueue()
      self._timeout = timeout
  
imports: from __future__ import with_statement
  import threading
  from wandb_watchdog.utils import BaseThread
  from wandb_watchdog.utils.compat import queue
  from wandb_watchdog.utils.bricks import SkipRepeatsQueue
label_desc: Use image node_id 1 to create a new EventDispatcher object from inherited base classes: BaseThread with example: obj = EventDispatcher(timeout)