code: def start(self):
          
          with self._operational_lock:
              ready = threading.Event()
              thread = threading.Thread(
                  name=_BIDIRECTIONAL_CONSUMER_NAME,
                  target=self._thread_main,
                  args=(ready,)
              )
              thread.daemon = True
              thread.start()
              # Other parts of the code rely on `thread.is_alive` which
              # isn't sufficient to know if a thread is active, just that it may
              # soon be active. This can cause races. Further protect
              # against races by using a ready event and wait on it to be set.
              ready.wait()
              self._thread = thread
              _LOGGER.debug("Started helper thread %s", thread.name)
docs: Start the background thread and begin consuming the thread.