title: A strange result in python using function multiprocessing.Pool?
body: <p>Here is code:</p>
  
  <p>one:</p>
  
  <pre><code>import multiprocessing
  import datetime
  import time
  a = [i for i in range(100)]
  res1 = []
  def jia(a,b,c):
      time.sleep(0.1)
      return a + b + c
  res1_time_start = datetime.datetime.now()
  p = multiprocessing.Pool(4)
  res1 = [p.apply_async(jia,(i,1,1)) for i in a]
  res1 = [i.get() for i in res1]
  res1_time_end = datetime.datetime.now()
  print((res1_time_end - res1_time_start).seconds)
  </code></pre>
  
  <p>the other:</p>
  
  <pre><code>import multiprocessing
  import datetime
  import time
  a = [i for i in range(100)]
  res1 = []
  def jia(a,b,c):
      time.sleep(0.1)
      return a + b + c
  res1_time_start = datetime.datetime.now()
  p = multiprocessing.Pool(4)
  for i in a:
      res1.append(p.apply_async(jia,(i,1,1)).get())
  res1_time_end = datetime.datetime.now()
  print((res1_time_end - res1_time_start).seconds)
  </code></pre>
  
  <p>The strange result is that the former cost 2.5s but the latter cost 10s.
  Why?Does list.append Blocks process?</p>