code: def get(self, timeout=None):
          
          if timeout is None:
              self._lock.acquire()
          else:
              self._wait(timeout)
          
          res = self.result
          if res[0]:
              return res[1]
          else:
              raise res[1]
docs: Get a result or raise an error. If `timeout` is not None, this function 
          will wait for only `timeout` seconds before raising ThreadTimeout().