title: multiprocessing pool.map not processing list in order
body: <p>I have this script to process some urls in parallel:</p>
  
  <pre><code>import multiprocessing
  import time
  
  list_of_urls = []
  
  for i in range(1,1000):
      list_of_urls.append('http://example.com/page=' + str(i))
  
  def process_url(url):
      page_processed = url.split('=')[1]
      print 'Processing page %s'% page_processed
      time.sleep(5)
  
  pool = multiprocessing.Pool(processes=4)
  pool.map(process_url, list_of_urls)
  </code></pre>
  
  <p>The list is ordered, but when I run it, the script doesn't pick urls from list in order:</p>
  
  <pre class="lang-none prettyprint-override"><code>Processing page 1
  Processing page 64
  Processing page 127
  Processing page 190
  Processing page 65
  Processing page 2
  Processing page 128
  Processing page 191
  </code></pre>
  
  <p>Instead, I would like it to process page 1,2,3,4 at first, then continue following the order in the list. Is there an option to do this?</p>