code: def start(self):
          
          if not self.__initialized:
              raise RuntimeError("thread.__init__() not called")
          if self.__started.is_set():
              raise RuntimeError("threads can only be started once")
          if __debug__:
              self._note("%s.start(): starting thread", self)
          with _active_limbo_lock:
              _limbo[self] = self
          try:
              _start_new_thread(self.__bootstrap, ())
          except Exception:
              with _active_limbo_lock:
                  del _limbo[self]
              raise
          self.__started.wait()
docs: Start the thread's activity.
  
          It must be called at most once per thread object. It arranges for the
          object's run() method to be invoked in a separate thread of control.
  
          This method will raise a RuntimeError if called more than once on the
          same thread object.