code: def Join(self):
      
  
      for _ in range(self.JOIN_TIMEOUT_DECISECONDS):
        if self._queue.empty() and not self.busy_threads:
          return
        time.sleep(0.1)
  
      raise ValueError("Timeout during Join() for threadpool %s." % self.name)
docs: Waits until all outstanding tasks are completed.