title: Using ThreadPoolExecutor's Map Passing Multiple Values
body: <p>I am trying to figure out how to use the ThreadPoolExecutor.map() in the current.futures library.  I am using Python 3.6.</p>
  
  <p>Here is the code shown below</p>
  
  <pre class="lang-py prettyprint-override"><code>import concurrent.futures
  def add(x,y):
      return x+y
  
  with concurrent.futures.ThreadPoolExecutor(1) as executor:
      res = executor.map(add, *(1,2)) # Fails 
  </code></pre>
  
  <p>My issue is that when I pass my parameters, I get the following error:</p>
  
  <pre><code>builtins.TypeError: zip argument #1 must support iteration
  </code></pre>
  
  <p>The example on the Python docs only shows using one variable as input, but I would like to use N variables for the map function.  How do I do this?</p>
  
  <p>I'm really scratching my head on this one, and would appreciate if anyone could point me to how I need to format my input parameters.</p>
  
  <p>I would like to be able to do something like this:</p>
  
  <pre class="lang-py prettyprint-override"><code>import concurrent.futures
  def add(x,y):
      return x+y
  
  numbers = [
  (1,2), (2,3), (3,10)
  ]
  
  with concurrent.futures.ThreadPoolExecutor(1) as executor:
      res = executor.map(add, *numbers) 
  </code></pre>
  
  <p>Please advise me on how to format the parameter inputs.</p>