title: Adding items to a list using threads in Python 2.7
body: <p>I've been doing some reading and couldn't find a best practice for my problem in Python 2.7, and it goes like that:</p>
  
  <p>I've a list of items, I want to iterate through all of them and call to some function. This function will do some work with those items and return a new item instead.
  Each returned value from the function will be appended into a new list of items.
  Everything is nice and simple, till I try to do this using threads.</p>
  
  <p>I wanna do the same job, but now each function call will open a new thread  (max 20 threads) that will do the function's work and return the needed information back to be appended to the list.</p>
  
  <pre><code>newList = []
  
  for item in myList:
      info = getInfo(item)
      newList.append(info)
  
  return newList
  </code></pre>
  
  <p>From what I read, lists are thread-safe, so I thought maybe to use Queue and Threading modules then put all current items into a queue, do the job on each while passing the newList and appending inside every thread...
  Any ideas?</p>