'Starts the task thread.'

def start(self):

    self._lock.acquire()
    try:
        if (not self.is_alive()):
            self._thread = threading.Thread(target=self._target, name='raven.AsyncWorker')
            self._thread.setDaemon(True)
            self._thread.start()
            self._thread_for_pid = os.getpid()
    finally:
        self._lock.release()
        atexit.register(self.main_thread_terminated)
