title: python threading blocks
body: <p>I am trying to write a program which creates new threads in a loop, and doesn't wait for them to finish.</p>
  <p>As I understand it if I use <code>.start()</code> on the thread, my main loop should just continue, and the other thread will go off and do its work at the same time</p>
  <p>However once my new thread starts, the loop blocks until the thread completes.</p>
  <p>Have I misunderstood how threading works in Python, or is there something stupid I'm doing?</p>
  <p>Here is my code for creating new threads.</p>
  <pre><code>def MainLoop():
      print 'started'
      while 1:
          if not workQ.empty():
              newThread = threading.Thread(target=DoWorkItem(), args=())
              newThread.daemon = True
              newThread.start()
          else:
              print 'queue empty'
  </code></pre>