title: Python basic threading issue
body: <p>Trying to do a simple threading operation with queues. There's no run error, but my function isn't executing. </p>
  
  <p>Heres my code:</p>
  
  <pre><code>data = ['1', '2', '3']
  
  def do_stuff(arg1):
      print arg1
  
  def start(num_threads):
      q = Queue.Queue()
      for item in data:
         q.put(item)
  
      for i in xrange(num_threads):
          t = threading.Thread(target=run, args=(do_stuff, q))
          t.start()
  
  def run(func, queue):
      while queue:
          try:
              func(queue.get(False))
          except Queue.Empty:
              break
  
  start(2)
  </code></pre>