title: How do I wait for ThreadPoolExecutor.map to finish
body: <p>I have the following code, which has been simplified:</p>
  
  <pre><code>import concurrent.futures
  
  pool = concurrent.futures.ThreadPoolExecutor(8)
  
  def _exec(x):
      return x + x
  
  myfuturelist = pool.map(_exec,[x for x in range(5)])
  
  # How do I wait for my futures to finish?
  
  for result in myfuturelist:
      # Is this how it's done?
      print(result)
  
  #... stuff that should happen only after myfuturelist is
  #completely resolved.
  # Documentation says pool.map is asynchronous
  </code></pre>
  
  <p>The documentation is weak regarding ThreadPoolExecutor.map. Help would be great.</p>
  
  <p>Thanks! </p>