code: def _timed_queue_join(self, timeout):
          
          deadline = time.time() + timeout
  
          with self._queue.all_tasks_done:
              while self._queue.unfinished_tasks:
                  delay = deadline - time.time()
                  if delay <= 0:
                      # timed out
                      return False
  
                  self._queue.all_tasks_done.wait(timeout=delay)
  
              return True
docs: implementation of Queue.join which takes a 'timeout' argument
  
          returns True on success, False on timeout