title: Threading queue working example
body: <p>How can I limit the maximum of open threads to 20 in the following code? I'm aware that there have been some similar questions asked in the past, but I specifically want to know how this is best done with a Queue and with a working example if possible.</p>
  
  <pre><code>    # b is a list with 10000 items
      threads = [threading.Thread(target=targetFunction, args=(ptf,anotherarg)) for ptf in b]
      for thread in threads:
          thread.start()
  
      for thread in threads:
          thread.join()
  </code></pre>