code: def multi_request(self, reqs_and_resps, threads=20, **kwargs):
          
  
          opt = kwargs.pop('opt', {})
          raw_body_only = kwargs.pop('raw_body_only', self.raw_body_only)
          # you shouldnt need more than 100, 20 is probably fine in most cases
          threads = max(min(threads, 100), 1)
  
          def _multi_shim(req_and_resp):
              """Shim self.request to also return the original request."""
  
              return req_and_resp[0], self.request(
                  req_and_resp,
                  raw_body_only=raw_body_only,
                  opt=opt,
              )
  
          results = []
  
          with ThreadPoolExecutor(max_workers=threads) as pool:
              for result in pool.map(_multi_shim, reqs_and_resps):
                  results.append(result)
  
          return results
docs: Use a threadpool to send multiple requests in parallel.
  
          :param reqs_and_resps: iterable of req_and_resp tuples
          :param raw_body_only: applied to every request call
          :param opt: applies to every request call
          :param threads: number of concurrent workers to use
  
          :return: a list of [(pyswagger.io.Request, pyswagger.io.Response), ...]