code: def add_thread(self, checker, end_callback, source_code, parent):
          
          parent_id = id(parent)
          thread = AnalysisThread(self, checker, source_code)
          self.end_callbacks[id(thread)] = end_callback
          self.pending_threads.append((thread, parent_id))
          logger.debug("Added thread %r to queue" % thread)
          QTimer.singleShot(50, self.update_queue)
docs: Add thread to queue