(self)
Start. Multiple calls have no effect.

        Not safe to call from multiple threads at once.
Start. Multiple calls have no effect.
Start . Multiple calls have no effect .
def open(self):
        """Start. Multiple calls have no effect.

        Not safe to call from multiple threads at once.
        """
        with self._lock:
            if self._thread_will_exit:
                # If the background thread has read self._stopped as True
                # there is a chance that it has not yet exited. The call to
                # join should not block indefinitely because there is no
                # other work done outside the while loop in self._run.
                try:
                    self._thread.join()
                except ReferenceError:
                    # Thread terminated.
                    pass
            self._thread_will_exit = False
            self._stopped = False
        started = False
        try:
            started = self._thread and self._thread.is_alive()
        except ReferenceError:
            # Thread terminated.
            pass

        if not started:
            thread = threading.Thread(target=self._run, name=self._name)
            thread.daemon = True
            self._thread = weakref.proxy(thread)
            _register_executor(self)
            thread.start()
def open ( self ) : with self . _lock : if self . _thread_will_exit : # If the background thread has read self._stopped as True # there is a chance that it has not yet exited. The call to # join should not block indefinitely because there is no # other work done outside the while loop in self._run. try : self . _thread . join ( ) except ReferenceError : # Thread terminated. pass self . _thread_will_exit = False self . _stopped = False started = False try : started = self . _thread and self . _thread . is_alive ( ) except ReferenceError : # Thread terminated. pass if not started : thread = threading . Thread ( target = self . _run , name = self . _name ) thread . daemon = True self . _thread = weakref . proxy ( thread ) _register_executor ( self ) thread . start ( )